
- 1、CGI工作原理
- 2、CGI简单测试
- 2.1、shell案例
- 2.2、c语言案例
公共网关接口(Common Gateway Interface,CGI)
是连接 服务器 和 应用 程序 之间的一个通用接口
- 这里使用BOA服务器
- 编辑配置文件,改最后一行的路径(别忘加 /)
$ sudo vim /etc/boa/boa.conf
以后就可以访问你自定义的cgi目录 (cgi-bin 是一个虚拟路径)
- 在自定义的cgi目录里 *** 作
$ touch time
$ chmod +x time
$ vim time
#!/bin/sh
echo "Content-Type:text/html;charset=utf-8\r\n"
echo "time "
echo "`date '+%H:%M:%S'`"
- 在浏览器测试
clion连接虚拟机的方法
为了以后方便,直接上流程
- 获取时间:get_time.c
#include
#include
#include "get_time.h"
char* GetTime(time_t now){
struct tm *local;
static char buf[15]; //记录时间xx-xx xx:xx:xx
if(now <= 0){
now = time(NULL);//获得当前的时间
}
local = localtime(&now);
if(local == NULL){
perror("localtime error");
return NULL;
}
snprintf(buf, sizeof(buf),"%02d-%02d %02d:%02d:%02d",
local->tm_mon,local->tm_mday,local->tm_hour,local->tm_min,local->tm_sec);
return buf;
}
- 头文件:get_time.h
#ifndef GET_TIME_H
#define GET_TIME_H
#include
extern char *GetTime(time_t now);
#endif
- 主函数
#include
#include "get_time.h"
int main() {
printf("Content-Type:text/html;charset=utf-8\r\n");
printf("\r\n");
printf("CGI测试");
printf("%s", GetTime(0));
return 0;
}
- Makefile
TARGET := ctest
CROSS_COMPILE :=
CC = $(CROSS_COMPILE)gcc
LD = $(CROSS_COMPILE)ld
OBJS := main.o
OBJS += get_time.o
CFLAGS += -Wall -I./inc
LDFLAGS +=
OUTPUT_DIR = /home/venom/web_prj/jobs/cgi/
all:$(TARGET)
$(TARGET):$(OBJS)
$(CC) $(LDFLAGS) $^ -o $@
cp $@ $(OUTPUT_DIR)
%.o:%.c
$(CC) $(CFLAGS) -c $^ -o $@
clean:
rm -f $(TARGET) $(OBJS)
嫌麻烦直接用mian函数随便打印一个再编译就行,Makefile还有点小问题
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)