Windows - 如何输出Cgi文件

时间:2014-06-28 15:19:35

标签: c apache cgi

我有一个cpp项目,我可以编译并作为exe执行。

但是我正在学习分布式系统,我需要一个cgi文件,这个文件将被放在我的apache服务器(xampp)上的cgi-bin文件夹下。

知道如何在Windows中执行此操作?

我在获取特定的cgi扩展时遇到问题,我还需要在xampp apache服务器中配置任何东西来运行这个cgi文件。我注意到服务器本身在安装时有3个文件,所以我认为它是自动配置的。

1 个答案:

答案 0 :(得分:1)

我并不是特别了解Windows,但我在Linux(Ubuntu)服务器上的Apache2上测试了以下内容。

您可以通过扩展名" cgi"来运行CGI。我编译了一个" HelloWorld" C ++程序并命名为" HelloWorldC.cgi"只要我指定了正确的Content-type输出,它就会正确执行。

C ++代码:

#include <iostream>
using namespace std;

int main() {

    cout << "Content-type: text/html\n\n" << endl;
    cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!
    return 0;
}

HTML代码: (的test.html)

<a href="HelloWorldC.cgi">HelloWorldC.cgi</a>

在浏览器中加载test.html链接时的输出:

!!!Hello World!!!

我认为Windows的问题可能是严格按扩展程序运行程序类型。 Linux将根据它的实际情况运行程序(通过程序的标题)。 Apache将在由配置的CGI选项运行的程序上执行CGI输出。

对于Windows,您可以通过添加&#34; .exe&#34;来让服务器执行该程序。到mime处理程序类型。

即。 (将.exe添加到addhandler指令):

AddHandler cgi-script .cgi .pl .exe