码迷,mamicode.com
首页 > 编程语言 > 详细

C语言编写cgi程序(下)

时间:2014-10-21 10:31:15      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:c语言   cgi   

在<<C语言写cgi程序(上)>>中,我们大概知道了cgi的工作原理。今天我们看看c语言写的cgi,是怎么来处理数据的。
  c语言中,通过getenv("环境变量")函数来获取页面传送给cgi的数据,一般通过printf()返回给页面一些数据。
 其中C语言中的环境变量包括:
 HTTP-REFERER:调用该CGI程序的网页的URL。 
 REMOTE-HOST:调用该CGI程序的Web浏览器的机器名和域名。 
 REQUEST- METHOD:指的是当Web服务器传递数据给CGI程序时所采用的方法,分为GET和POST两种方法。GET方 法仅通过环境变量(如 QUERY-STRING)传递数据给CGI程序,而POST方法通过环境变量和标准输入传递数据给CGI程序,因此POST方法可较方便地传递较多的数 据给CGI程序。 
SCRIPT-NAME:该CGI程序的名称。 
QUERY-STRING:当使用POST方法时,Form中的数据最后放在QUERY-STRING中,传递给CGI程序。 
CONTENT-TYPE:传递给CGI程序数据的MIME类型,通常为〃applica tion/x-www-form-url encodede〃,它是从HTML Form中以POST方法传递数据给CGI程序的数据编码类型,称为URL编码类型。 

CONTENT-LENGTH:传递给CGI程序的数据字符数(字节数)。 

通过例子,可以更好的理解cgi和其工作原理。
1.搭建web服务器
我们选用的webServer是轻量级服务器mongoose。mongoose源码下载地址:http://pan.baidu.com/s/1mg0vs4w
mongoose是一个开源项目,有兴趣可以研究一下。
在Linux系统下编译源码:make linux
bubuko.com,布布扣

通过运行命令./mongoose启动服务器或者./mongoose &后台运行。
输入http://IP:8080测试服务器:
bubuko.com,布布扣

2.编写index.html页面,代码如下:
bubuko.com,布布扣

页面打开如下:
 bubuko.com,布布扣


 3.编写我们的cgi程序
 bubuko.com,布布扣
编译该程序生成cgi文件
bubuko.com,布布扣

4.点击页面按钮,看下效果:
bubuko.com,布布扣
 
OK,一个简单的cig写完了,当然可以调用环境变量接收WEBSERVER传过来的数据,做更复杂的操作。

C语言编写cgi程序(下)

标签:c语言   cgi   

原文地址:http://tianer1123.blog.51cto.com/678690/1566156

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!