cgi脚本进行数据的处理和反馈(二)

简单介绍一下CGIC如何使用:

1、CGIC的下载和介绍:  

CGIC是非常实用和简洁的开源CGI库函数。下载地址为:www.boutell.com/cgic/#obtain,目前最新的版本号是2.05。提供两种格式

的压缩包:cgic205.tar.gz和cgic205.zip

 

解压:

tar -xvf cgic205.tar.gz  或者  unzip -d  cgic205.zip

 

CGIC库中总共有9个文件,包括一些帮助文档,makefile,和C源文件。

cgi.c    //cgic中的核心文件,进行初始化,环境变量设置等任务;

cgi.h    //头文件

capture.c  //用于进行调试的工具,通过cgi.c 源文件中的CGICDEBUG宏来控制是否需要打开调试工具

cgictest.c  //提供的一个sample

其中最为重要的是cgi.c文件,这可是我们cgi脚本生产和运行的核心,好比是法拉利的引擎一样。

2、编译

由于在CGIC的库中已经提供了makefile文件,如果是在X86的linux环境下我们可以直接使用这个makfile文件进行编译,生成cgictest.cgi(在库文件自带的makefile中定义的)。

如果是在arm或者mips等其他嵌入式平台上使用,则需要使用对应的交叉工具链;

我们也可以直接在命令行中输入命令编译:

 gcccgi.c cgictest.c –o  cgictest.cgi 

 

在自己设计和实现的cgi脚本中,必须要和cgi.c文件一起编译,为了方便可以实现将cgi.c文件打包为一个lib文档,在以后的实现中直接链接库文件即可。

 

3、运行和配置(环境有差别配置和运行稍有不同,这里用到开发板和PC):

CGI脚本不是放在server上就能顺利运行,如果要想使其在server上顺利的运行并准确的处理用户的request,则须对所使用的server进行必要的设置。

a、当初是在开发板上进行开发的,因此编译的cgi需要运行在开发板上。

b、开发板的httpserver使用的是httpd,编译好的CGI文件放在开发板server文件夹相应的位置,通过路由器直连开发板和PC机(设为同一网段,设置开发板的回环地址:ifconfig lo up)

c、通过PC的浏览器发送请求,通过httpserver可以调用到编译好的cgi脚本,最终结果在PC端的浏览器上显示。

这是因为CGI不同于javascript,javascript是在客户端执行的,在客户端就能直接得到结果,CGI是在服务器端运行,结果要通过服务器反馈给用户才能显示出来

 

配置:根据所使用的服务器类型以及它的设置把CGI程序放在某一特定的目录中或使其带有特定的扩展名。

在开发板端http server的目录下建立一个放置cgi脚本的cgi-bin目录(当然名字可以任意取,但作为习惯,一般叫做cgi-bin),然后在mini-httpserver的配置文件里指定CGI脚本文件的路径,以及CGI脚本的名称(一般默认为使用*.cgi)。

通过页面的http请求发送给开发板端的httpserver,具体格式如下:
http://127.0.0.1:8080/cgi-bin/test.cgi

其中:

地址:由于cgi脚本和httpserver都在开发板的本地因此使用本地地址:127.0.0.1。

端口:8080为开发板的httpserver和PC双方通信默认的端口。

CGI脚本路径:cgi-bin在httpserver根目录中。

CGI脚本名称:test.cgi

 

CGI处理步骤:1、通过网络协议把用户request发送到server;2、server接收用户请求并交由CGI脚本处理;3、CGI脚本把处理结果传送给server;4、server将结果传回给用户。

你可能感兴趣的:(cgi脚本进行数据的处理和反馈(二))