C语言进行站点开发之cgi
安装Apach
配置ApacheRuntime
以下的过程中一直点击next
配置CGI,放开配置:AddHandler
cgi-script .cgi
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG90b3R1enVvcXVhbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
2.加入Option,截图
3.编写CGI代码例如以下:
#define
_CRT_SECURE_NO_WARNINGS
//取消安全检查
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void
main()
{
//假设想实如今html中也显示。须要加上以下两句
printf("Content-type:text/html\n\n");
//通过以下的方式实现查询环境变量的字符串
printf("%s<br/><br/>",
getenv("QUERY_STRING"));
char
szPost[256] = { 0 };
//获取输入
gets(szPost);
//获取输入
printf("%s<br/><br/>",
szPost);
//这一句是将指针移动到等号位置
char *p
= szPost + 8;
char *p1
= strchr(szPost,"&");
*p1 =
'\0';
char
cmd[256] = { 0 };
//字符串映射
sprintf(cmd,
"%s>1.txt",
p);
system(cmd);
FILE *pf
= fopen("1.txt",
"r");
//假设没有到文件末尾就继续
while (!feof(pf))
{
char
ch =
fgetc(pf);
if (ch
== '\n')
{
//换行
printf("<br/><br/>");
}
else
{
//打印字符
putchar(ch);
}
}
}
4.点击:本地Windows调试器
在文件资源管理器中打开文件,截图例如以下:
Debug文件夹例如以下:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG90b3R1enVvcXVhbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
5.将system.exe复制到Apach中的cgi-bin,将system.exe改动成system.cgi
6.重新启动Apacheserver,右击ApachàOpen
Apache Monitor.弹出例如以下界面:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG90b3R1enVvcXVhbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
7.编写下面html
<html>
<form method="post"action="http://localhost/cgi-bin/system.cgi">
<p>
<input type="text"id="command" name="command"
value="tasklist"action=""/>
</p>
<p>
<input type="submit"name="submit" id="submit" value="提交"/>
</p>
</form>
</html>
要注意的是假设:发现网页中仍然输出有错误,这时候可能不是程序的问题。而是缓存的问题,这时候应该关闭网页。让后又一次打开。这时候就能够了。
最新文章
- Pyunit测试框架
- primefaces4.0基本教程以及增删改查
- Python 开发轻量级爬虫04
- C#Excel的导入与导出
- 论文笔记之:Progressive Neural Network Google DeepMind
- android ListView详解继承ListActivity
- 关于在windows下使用mingw并行编译wxwidgets时的错误
- HBase(一): c#访问hbase组件开发
- 【转】SQL Server T-SQL写文本文件
- Nginx windows下搭建过程
- ajax编程**
- First Article
- Android 夜间模式changeskin小结
- 当List<;String>; list =new ArrayList<;String>;(20); 他会扩容多少次
- vue的混合mixins学习
- java压缩指定目录下的所有文件和文件夹的代码
- SpringBoot(七):SpringBoot整合Swagger2
- 程序员基层知识程序与cpu【更新1】
- Oracle Instant Client(即时客户端) 安装与配置
- c# 简易绘制C语言头文件包含关系图 v2.0