首页 > 电脑

如何用C++写cgi程序,读取POST和GET传递的值?

更新时间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;        

}


代码都不会自己写,还学来干么?要自己调试要自己鼓捣才能学到东西。学不到东西,干脆就不用学了

不懂偶,没有学那么后,求采纳

上一篇:minecraft如何把服务器里的建筑复制到本地世界?(在服务器里没权限,普通玩家)。

下一篇:sql两个表关联查询