1

我想用 C++ 编写一个测试 cgi 程序。但是当我将配置文件设置如下:

ScriptAlias /cgi-bin/ "F:/workbench/cgi-bin/"
<Directory "F:/workbench/cgi-bin">
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
AddHandler cgi-script .exe .pl .cgi

然后编写一个helloworld程序如下:

#include <stdio.h>
int main(void)
{
    printf("\n");
    printf("Hello, World!\n");
    return 0;
} 

并在我重新启动服务器并访问 cgi 时使用 g++ hello.cpp -o hello.cgi 编译它:localhost\cgi-bin\hello.cgi 它不起作用。

4

1 回答 1

0

您需要添加一个 HTTP 标头来描述输出。Http Header 和 Http body 由两个换行符分隔。我认为如果您包含一个简单的标题,例如“content-type:text/plain”,您的代码将起作用。换句话说,尝试:

#include <stdio.h>
int main(void) {
    printf("Content-type: text/plain\n");
    printf("\n");
    printf("Hello, World!\n");
    return 0;
} 
于 2014-03-04T17:42:25.393 回答