首页 > 代码库 > apache通过cgi调用exe程序
apache通过cgi调用exe程序
windows下,使用c写了一个简单的cgi程序,生成exe类型的可执行文件,代码如下:
1 #include<stdio.h>2 int main()3 {4 printf("Content-Type:text/html\n\n"); 5 printf("Hello,world!\n");6 return 0;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 None3 Options None4 Order allow,deny5 Allow from all6 </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> 4 int main() 5 { 6 char *data; 7 long m,n; 8 9 printf("Content-Type:text/html\n\n");10 printf("<title>c语言生成html</title>"); 11 12 data = http://www.mamicode.com/getenv("QUERY_STRING");13 if(NULL == data)14 printf("<p>Error.</p>");15 else if(sscanf(data,"m=%ld&n=%ld",&m,&n)!= 2)16 printf("<p>Please input number.</p>");17 else18 printf("<p>m:%ld;n:%ld.</p>",m,n);19 return 0;20 }
apache通过cgi调用exe程序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。