更新时间2019-07-24 05:36:26
如何用C++ 写cgi程序,读取POST和GET传递的值?
请附上详细代码,谢谢!
CGI输入
读环境参数REQUEST_METHOD它可以是POST或GET
get的话,参数在QUERY_STRING中
post的,参数就在标准输入中(stdin)
而你要输出的,就是通过标准的输出(stdout),以下是一个简单的例子(原生态的,没有用任何第三方的库,且用的是C风格的输入/输出 )
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXLEN 1024
int main(void)
{
long len;
char *lenstr, poststr[MAXLEN];
printf("Content-Type:text/html ");
char *pRequestMethod;
setvbuf(stdin, NULL, _IONBF, 0); /*turn off stdin's cache*/
pRequestMethod = getenv("REQUEST_METHOD");
if (strcmp(pRequestMethod, "POST") == 0)
{
printf("<TITLE>This is Post operation</TITLE> ");
lenstr = getenv("CONTENT_LENGTH");
//if(lenstr == NULL || len > MAXLEN)
if(lenstr == NULL)
{
printf("<P>Post form error");
}
else
{
len = atoi(lenstr);
fgets(poststr, len + 1, stdin);
printf("%s",poststr);
}
}
if (strcmp(pRequestMethod, "GET") == 0)
{
printf("<TITLE>This is Get operation</TITLE> ");
char *qa;
printf("<TITLE>The reault of Get is: </TITLE> ");
qa = getenv("QUERY_STRING");
printf("%s",qa);
}
return 0;
}
代码都不会自己写,还学来干么?要自己调试要自己鼓捣才能学到东西。学不到东西,干脆就不用学了
不懂偶,没有学那么后,求采纳