windows下,使用c写了一个简单的cgi程序,生成exe类型的可执行文件,代码如下:1 #includestdio.h2int main()3{4 printf(Content-Type:text/html\n\n); 5 printf(Hello,world!\n);6return0;7 }怎样使...
windows下,使用c写了一个简单的cgi程序,生成exe类型的可执行文件,代码如下:
1 #include<stdio.h> 2int main() 3{ 4 printf("Content-Type:text/html\n\n"); 5 printf("Hello,world!\n"); 6return0; 7 }
怎样使apache加载生成的exe文件?只需要两步即可实现:
1、配置cgi程序所在目录
2、使apache能该识别exe文件
对应到apache的配置文件分别为:
A:
<IfModule alias_module>代码块中增加:
ScriptAlias /cgi-bin/ "E:/c/"
红色字体为cgi程序(此处指生成的exe文件)所在的目录
注意:需要修改两处,在该代码块下方不远处也有一个地方需要修改,如下:
1 <Directory "E:/c"> 2 AllowOverride None 3 Options None 4 Order allow,deny 5 Allow from all 6 </Directory>
B:
<IfModule mime_module>代码块中修改或者增加如下两行:
AddType text/html .exe
AddHandler cgi-script .exe .cgi
假如生成的exe文件名为:test.exe
此时将test.exe拷贝到E:\C目录下,并重启apache。
浏览器中运行http://localhost/cgi-bin/test.exe,此时若看到Hello,world!则说明,配置成功。
扩展:
在c语言中接受get、post数据,范例如下:
1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<string.h> 4int main() 5{ 6char *data; 7long m,n; 8 9 printf("Content-Type:text/html\n\n"); 10 printf("<title>c语言生成html</title>"); 1112 data = getenv("QUERY_STRING"); 13if(NULL == data) 14 printf("<p>Error.</p>"); 15elseif(sscanf(data,"m=%ld&n=%ld",&m,&n)!= 2) 16 printf("<p>Please input number.</p>"); 17else18 printf("<p>m:%ld;n:%ld.</p>",m,n); 19return0; 20 }
原文:http://www.cnblogs.com/qbyyqhcz/p/3990658.html
本文标题为:apache通过cgi调用exe程序
- CentOS_mini下安装docker 之 安装docker CE 2023-09-23
- 阿里云ECS排查CPU数据分析 2022-10-06
- 【转载】CentOS安装Tomcat 2023-09-24
- 解决:apache24 安装后闪退和配置端口映射和连接超时设置 2023-09-11
- 教你在docker 中搭建 PHP8 + Apache 环境的过程 2022-10-06
- KVM虚拟化Linux Bridge环境部署的方法步骤 2023-07-11
- 利用Docker 运行 python 简单程序 2022-10-16
- nginx中封禁ip和允许内网ip访问的实现示例 2022-09-23
- CentOS7安装GlusterFS集群的全过程 2022-10-10
- IIS搭建ftp服务器的详细教程 2022-11-15