apache通过cgi调用exe程序
windows下,使用c写了一个简单的cgi程序,生成exe类型的可执行文件,代码如下:
#include<stdio.h>
int main()
{
printf("Content-Type:text/html\n\n");
printf("Hello,world!\n");
return ;
}
怎样使apache加载生成的exe文件?只需要两步即可实现:
1、配置cgi程序所在目录
2、使apache能该识别exe文件
对应到apache的配置文件分别为:
A:
<IfModule alias_module>代码块中增加:
ScriptAlias /cgi-bin/ "E:/c/"
红色字体为cgi程序(此处指生成的exe文件)所在的目录
注意:需要修改两处,在该代码块下方不远处也有一个地方需要修改,如下:
<Directory "E:/c">
AllowOverride None
Options None
Order allow,deny
Allow from all
</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数据,范例如下:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char *data;
long m,n; printf("Content-Type:text/html\n\n");
printf("<title>c语言生成html</title>"); data = getenv("QUERY_STRING");
if(NULL == data)
printf("<p>Error.</p>");
else if(sscanf(data,"m=%ld&n=%ld",&m,&n)!= )
printf("<p>Please input number.</p>");
else
printf("<p>m:%ld;n:%ld.</p>",m,n);
return ;
}
apache通过cgi调用exe程序的更多相关文章
- .net 部署到服务端IIS,Process调用exe程序无法运行问题解决
场景: 开发某一功能将html内容转换为pdf,采用第三方插件wkhtmltopdf.exe进行转换.在本地调试正常运行,部署到服务端后文件没有正常生成. IIS中,Process打不开cmd程序,程 ...
- C#调用Exe程序示例
在编写程序时经常会使用到调用可执行程序的情况,本文将简单介绍C#调用exe的方法.在C#中,通过Process类来进行进程操作. Process类在System.Diagnostics包中. 示例一 ...
- C#传递参数调用exe程序
今天公司让我把Winform程序里的一块单独成一个exe文件,从原程序中打开新的exe程序,这就涉及到参数的传递,故来记录下传递参数到exe程序的方式 第一种方式 首先在程序A中添加引用using S ...
- C# 如何以参数的形式调用.exe程序
System.Diagnostics.Process.Start("程序的路径", "参数1 参数2");第一个参数是aaa.exe 的路径,第二个参数是用空格 ...
- python调用exe程序
最近在做测试,公司的产品做成了exe,让我去测试,C++写的程序啊,我直接用python调用那个exe,也有个坑,必须要到exe在的那个目录下,然后才能调用: import os def main() ...
- Js调用exe程序方法(通过URL Protocol实现网页调用本地应用程序)
1.使用记事本(或其他文本编辑器)创建一个protocal.reg文件,并写入以下内容 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROO ...
- JAVA 调用exe程序执行对应的文件 (个人用于编译Java文件)
需求: 需要利用Java程序,来调用计算机本身的黑窗口,来将特定的Java文件编译成对应的字节码文件. 实现思路: 通过调用Java的Runtime类,每个 Java 应用程序都有一个 Runtime ...
- 在c++中调用exe程序进行操作
#include <Windows.h> #include <iostream> #include <direct.h> #define picNum 228 us ...
- python 调用exe程序
#!/usr/bin/python #-*- coding:utf-8 -*- import os, subprocess import tkMessageBox import msg_box def ...
随机推荐
- java中hashcode()和equals()的详解
今天下午研究了半天hashcode()和equals()方法,终于有了一点点的明白,写下来与大家分享(zhaoxudong 2008.10.23晚21.36). 1. 首先equals()和hashc ...
- php特殊用法
1.将字符串转换成可执行的php代码(简单的代码)--eval() <?php $str="echo phpinfo();"; echo eval( $str);
- UI: 标题栏
TitleBarDemo.xaml <Page x:Class="Windows10.UI.TitleBarDemo" xmlns="http://schemas. ...
- Python笔记(2)函数
python中一切皆对象,函数也看做对象.函数被函数名所引用,但是同样的他也可以被其他标识符所引用,可以作为参数传递. def f(): return "hi" 可见a引用了函数返 ...
- Linux 查找进程运行位置
1.通过ps或者top命令查看运行的进程的pid ps -aux|grep php-fpm #或者 top 2. 获取进程的pid后,然后使用命令ls -l /proc/${pid},这个命令可以列出 ...
- Alpha阶段第九次Scrum Meeting
情况简述 Alpha阶段第九次Scrum Meeting 敏捷开发起始时间 2016/11/2 00:00 敏捷开发终止时间 2016/11/3 00:00 会议基本内容摘要 汇报进度,安排工作 参与 ...
- 【转】C# lock的使用
一.Lock定义 lock 关键字可以用来确保代码块完成运行,而不会被其他线程中断.它可以把一段代码定义为互斥段(critical section),互斥段在一个时刻内只允许一个线程进入执行, ...
- <<< Jquery查找元素、选择器使用方法总结
$("#myDiv"); //根据给定的ID匹配一个元素,用于搜索id 属性中给定的值,id属性必须是唯一的 $("div"); //根据给定的元素名匹配所有元 ...
- 今天遇到sqlyog连接不上阿里云的数据库,最后百度解决了...
- Asp.net实现直接在浏览器预览Word、Excel、PDF、Txt文件(附源码)
功能说明 输入文件路径,在浏览器输出文件预览信息,经测试极速(Chrome).IE9.Firefox通过 分类文件及代码说明 DemoFiles 存放可测试文件 Default.aspx 启动页 ...