CGI程序设计标准接口常用环境变量

文章作者:中山市飞娥软件工作室「Feiesoft.com」  浏览次数:2087 次  更新日期:2014-03-25

CGI可以用任何一种32位/64位编程语言编写,只要这种语言具有标准输入、输出和环境变量。下面是常用的CGI程序设计标准接口常用环境变量。

QUERY_STRING:表单输入的数据,URL中问号后的内容;
CONTENT_TYPE:POST发送,一般为application/xwww-form-urlencoded;
CONTENT_LENGTH:POST方法输入的数据的字节数;
SERVER_NAME:运行CGI序为机器名或IP地址;
SERVER_INTERFACE:WWW服务器的类型,如:CERN型或NCSA型;
SERVER_PROTOCOL:通信协议,应当是HTTP/1.0;
SERVER_PORT:TCP端口,一般说来web端口是80;
HTTP_ACCEPT:HTTP定义的浏览器能够接受的数据类型;
HTTP_REFERER:发送表单的文件URL;(并非所有的浏览器都传送这一变量)
HTTP_USER_AGENT:发送表单的浏览器的有关信息;
GETWAY_INTERFACE:CGI程序的版本,在UNIX下为CGI/1.1;
PATH_TRANSLATED:PATH_INFO中包含的实际路径名;
PATH_INFO:浏览器用GET方式发送数据时的附加路径;
SCRIPT_NAME:CGI程序的路径名;
REMOTE_HOST:发送程序的主机名,不能确定该值;
REMOTE_ADDR:发送程序的机器的IP地址;
REMOTE_USER:发送程序的人名;

实例mycgi.c:在VC++6.0下编译通过

#include <stdio.h>
#include <stdlib.h>
void main()
{
 int i,n;
 printf("Centen-type:text/plain\n\n");
 n=0;
 if(getenv("CONTENT_LENGTH"))
  n = atoi(getenv("CONTENT_LENGTH"));
 for(i=0;i<n;i++)
  putchar(getchar());
 putchar('\n');
 fflush(stdout);
}

客户端页面 test_mycgi.html:

<!DOCTYPE HTML>
<html lang="zh-CN">
<head>
 <meta charset="UTF-8">
 <title></title>
</head>
<body>
 <form action="/cgi-bin/mycgi.exe" method="post">
  <input type="text" name="eml" id="eml" />
  <input type="submit" value="提交" />
 </form>
</body>
</html>