利用boa服务器测试arm开发板上的cgi和html联合编程的小例程。很简单,但是当时觉得很有意思。在这里给大家展示一下,高手飘过。
在ubuntu下安装boa测试环境,即先在本地搭建一个boa的网页服务器。apt-get install boa。稍作配置即可。我的Boa按照默认配置www网页放在/var/www目录,而cgi脚本放在/usr/lib/cgi-bin目录
下面以一个示例较少cgi和html的配合使用
<html><head><title>Title of page</title></head>
<body><form ACTION="cgi-bin/mult.cgi">
#这里指示cgi脚本的路径<P>请在下面填入乘数和被乘数,按下确定后可以看到结果。
<INPUT NAME="m" SIZE="5" ><INPUT NAME="n" SIZE="5" ><BR><INPUT TYPE="SUBMIT" values="确定"></form ></body>
</html>
将文件该名称为Index.html放在www目录
而mult.cgi代码如下:
#include <stdio.h> #include <stdlib.h> int main(void) { char *data; long m,n; printf("Content-Type:text/html;charset=utf-8\n\n"); printf("<html>\n"); printf("<head>\n<title>乘法结果</title>\n</head>\n"); printf("<body>\n");data = getenv("QUERY_STRING"); if(data == NULL) printf("<P>错误!数据没有被输入或者数据传输有问题</p>"); else if(sscanf(data,"m=%ld&n=%ld",&m,&n)!=2) printf("<P>错误!输入数据非法。表单中输入的必须是数字。</p>"); else printf("<P>%ld和%ld的成绩是:%ld。",m,n,m*n); printf("</body>\n");printf("</html>\n"); return 0; }
使用gcc将以上代码编译之后,将可执行文件该名称为mult.gci,放 /usr/lib/cgi-bin目录 可以参考以上代码,功能就是提供两个输入框,用户输入之后,点击确定提交之后,返回计算结果。
一个很值得关系的问题是用户浏览器的网页怎么和服务器上的cgi脚本交互,在我们点击提交之后,会发现在浏览器的地址栏有下面的字样:
mult.cgi?m=254&n=321这就是浏览器向服务器传递的数据,m=254 n321,上述写法是标准格式。