如何在html页面中插入cgi应用程序的输出?

时间:2018-10-14 13:04:18

标签: html c++ cgi

我编写了一个程序,该程序将在服务器上运行ps命令,对其进行解析并使用表创建一个html页。页面应该每3秒更新一次,所有这些都使用cgi c ++。所以我的问题是我可以在html文件中使用哪个标签(如果存在)来运行我的cgi应用程序,并粘贴输出(cgi返回html代码)。示例:

index.html

<html>
<meta charset="utf-8">
<meta http-equiv='refresh' content='3'>
<body>

<!-- Here I need to execute test.cgi and paste the output right here-->

</body>
</html>

test.cpp

#include <iostream>

using namespace std;

int main()
{
    cout << "Content-Type: text/html; charset=utf-8\n";
    cout << "\n";
    cout << "<title> Hey </title> ";
    return 0;
}

1 个答案:

答案 0 :(得分:0)

您需要的是此处的通用网关接口(cgi)。如果您正在运行Apache Webserver,则可以轻松使用cgi。只需将c脚本(一种实现方式)编译为“ .cgi”类型的文件,并将其放置在您在httpd.conf中配置为允许CGI执行的位置即可。确保至少给予它605许可。

在C语言中,我通常使用

printf("Content-Type: text/html\n\n");

printf(Followed by any HTTP Header I want to use including Refresh)

在脚本内添加ps命令,它可能会为您提供基本的未格式化html页面..您的输出将显示在浏览器的左上方。如果您想要一个完全格式化的页面,这将需要更多的工作,但是您不需要2个文件(1个cgi和1个html),而是只需要1个cgi文件。

Edit1:对于Cpp,它应该也可以类似地工作,因此请尝试应用我上面所说的内容。