安装Apache Server
apache server下载地址:https://archive.apache.org/dist/httpd/
步骤:
1.下载并解压文件到C:\Apache24路径。
2.打开命令行,cd到C:\Apache24\bin目录下,执行httpd.exe -k install命令安装apache服务
3.打开conf/httpd.conf文件修改配置
监听8080端口
配置管理员邮箱
配置域名
4.在命令行窗口执行httpd指令启动服务器
在浏览器访问:localhost:8080,如果显示It works!表示安装成功。
如果端口被占用,则使用netstat -ano命令查看占用端口的进程的pid,并结束该进程,或者修改监听端口的配置。
如果是msi安装文件则直接安装后,打开bin/ApacheMonitor.exe即可。
相关目录介绍:
1.bin:执行文件目录
2.cgi-bin:cgi文件目录
3.conf:配置
4.error:错误
5.htdocs:网站根目录
6.icons:图标
7.logs:日志
8.manual:手册
9.modules:模块(动态库)文件目录
配置开启CGI功能
打开conf目录下的httpd.conf文件
1.解除处理CGI程序的注释
2.增加CGI设置项:Options Indexes ExecCGI
Hello CGI
开发环境说明:win7、VS2012
1.编写C/C++程序源码
#include <stdio.h> void main(){ printf("Context-type:text/html; \n\n"); printf("<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">"); printf("<html><head>"); printf("<title>Hello CGI</title>"); printf("</head><body>"); printf("<p>Hello CGI</p>"); printf("</body></html>"); }
2.编译源码,把生成的exe文件复制到cgi-bin目录下,并修改后缀名为.cgi。
3.在浏览器中访问cgi文件
http://localhost:8080/cgi-bin/hello.cgi
注意:
1.输出的内容将会作为网页源码显示,所以输出的内容要符合html标准。
2.在控制台输出的”\n”不网页上显示是不起到换行的作用的,可以通过输出”<br />”来实现换行。
3.在logs目录可以查看相关日志信息。
错误:
1.Premature end of script headers: hello.cgi
hello.cgi输出的内容过早结束脚本头。检查输出内容是否符合html标准。
实现远程控制电脑
1.在htdocs目录下添加一个cmd.html文件,用于提交命令,源码如下:
<form method="post" action="http://localhost:8080/cgi-bin/cmd.cgi"> <input type="text" size="35" name="cmd" value="tasklist" /> <input type="submit" name="submit" value="执行" /> </form>
2.C程序源码
思路
(1).获取从html中表单提交过来的参数并替换部分字符串,如+需要换成空格,%2F换成/。
(2).执行相关命令,并把结果输出内存中的文件对象。
(3).把执行结果显示到网页。
源码中用到的strlib.h在这里>>【C语言字符串库封装】
3.编译生成exe执行文件,复制exe文件到cgi-bin目录下,并修改后缀名为cgi。如:cmd.exe --> cmd.cgi。
4.在浏览器中访问http://localhost:8080/cmd.html,提交命令。
执行结果