Visual C++/MFC专题讲座(1.1.3)

王朝vc·作者佚名  2006-12-16
窄屏简体版  字體: |||超大  

1.1 如何编写CGI程序

有了上面的知识我们就可以马上写一个简单的CGI程序了。代码如下:

void main(void)

{// 本程序将用户输入的数据打印出来

fprintf(stdout,"content-type: text/plain\n\n");

// 输出一个CGI标题,这行代码的意义后面会讲解

char *pszMethod;

pszMethod = getenv("REQUEST_METHOD");

if(strncmp(pszMethod,"GET") == 0)

{// GET method

//读取环境变量来获取数据

fprintf(stdout,"input data is :\n%s",getenv("QUERY_STRING"));

}

else

{// POST method

//读取STDIN来获取数据

int iLength=atoi(getenv("CONTENT_LENGTH"));

fprintf(stdout,"input data is :\n");

for(int i=0;i<iLength;i++)

{

char cGet=fgetchar(stdin);

fputchar(stdout,cGet);

}

}

}>

如上面说讲,在CGI程序输出时必须先输出一个CGI标题,标题共有以下三类:

Location: 标题,指明输出另一个文档的URL,例如 fprintf(stdout,"Location: http://www.vchelp.net/\n\n");

Content-Type: 标题,指明发送的数据的MIME类型,例如 fprintf(stdout,"Content-Type: text/html\n\n");

Status: 标题,指明HTTP状态码,例如 fprintf(stdout,"Status: 200\n\n");

注意每种标题后都必须跟一个换行和一个空行。

MIME类型以类型/子类型的形式来表示,下面是一些常用的类型/子类型的组合:

Text/plain 普通文本类型

Text/html HTML格式的文本类型

Audio/basic 八位声音文件格式,后缀为.au

Video/mpeg MPEG文件格式

Video/quicktime QuickTime文件格式

Image/gif GIF图形文件

Image/jpeg JPEG图形文件

Image/x-xbitmap X bitmap图形文件,后缀为.xbm

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有  導航