WEB与CGI程序的混合编程若干思想
一般直接通过C语言编写出的CGI应用比较简单,很难适用于工业或商页应用,因为项目原因需要用到嵌入式LINUX环境CGI编程。
环境:基于S3C2416硬件平台,linux3.4.4操作系统。
首先在HTML中的form表单内action设置为相应的CGI,如下所示:
< FORM ACTION="/cgi-bin/collect.cgi" METHOD="POST" >
< P >请输入您的留言(最多80个字符):< BR >< INPUT NAME="data" SIZE="60" MAXLENGTH="80" >< BR >
< INPUT TYPE="SUBMIT" VALUE="确定" >
< /FORM >
编写CGI程序,注意cgi程序并不是纯粹需要C语言编写的,其实就是系统可以执行的一段代码,一定程度上来说,不限制语言的。
所以在linux里面可以使用最为灵活的shell,然后把需要执行的程序放置在里面进行,这样做的好处是可以利用cat指令打印出网页
丰富的元素,使网页更易为人接收,如下所示:
#!/bin/sh
/usr/bin/servfox -s 640x480 -w 192.168.1.230:7070
echo "Content-type: text/html; charset=gb2312"
echo /bin/cat webcam-result.template
exit 0
其中第2行是调用了linux系统里面的二进制文件,直接执行(摄像头相关的代码)
第3行输出浏览器可以识别出的网页头,告知浏览器按照什么方式进行解码
第4行使用linux系统中的命令行cat,打印出网页显示结果的模板,注意改模版其实就是一段HTML语言,其代码如下所示:
设置wemcam结果
WEBCAM设置已经提交
返回上一页
总结:cgi是非常灵活的,不能局限于C语言编译出的可执行程序,使用shell会显得更加灵活。