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>
要注意的是假设:发现网页中仍然输出有错误,这时候可能不是程序的问题。而是缓存的问题,这时候应该关闭网页。让后又一次打开。这时候就能够了。
C语言进行站点开发之cgi的更多相关文章
- 服务器开发之CGI后门
1.html代码 <form id = "form" name="form" method="post" action=". ...
- Asp.net Mvc模块化开发之“开启模块开发、调试的简单愉快之旅”
整个世界林林种种,把所有的事情都划分为对立的两个面. 每个人都渴望的财富划分为富有和贫穷,身高被划分为高和矮,身材被划分为胖和瘦,等等. 我们总是感叹,有钱人的生活我不懂;有钱人又何尝能懂我们每天起早 ...
- iOS开发之Socket通信实战--Request请求数据包编码模块
实际上在iOS很多应用开发中,大部分用的网络通信都是http/https协议,除非有特殊的需求会用到Socket网络协议进行网络数 据传输,这时候在iOS客户端就需要很好的第三方CocoaAsyncS ...
- Android开发之InstanceState详解
Android开发之InstanceState详解 本文介绍Android中关于Activity的两个神秘方法:onSaveInstanceState() 和 onRestoreInstanceS ...
- DarkStone - 跨平台移动应用开发之 Flex 的崛起
我的好友Ds 发布一个flex的消息.我帮忙转发 DarkStone - 跨平台移动应用开发之 Flex 的崛起 (2013-08-20 22:28:32) 此文章由 周戈 (DarkSton ...
- 【转载】浅谈游戏开发之2D手游工具
浅谈游戏开发之2D手游工具 来源:http://www.gameres.com/459713.html 游戏程序 平台类型: iOS Android 程序设计: 其它 编程语言: 引擎/SDK ...
- Android安全开发之WebView中的地雷
Android安全开发之WebView中的地雷 0X01 About WebView 在Android开发中,经常会使用WebView来实现WEB页面的展示,在Activiry中启动自己的浏览器,或者 ...
- Asp.net Mvc模块化开发之“部分版本部分模块更新(上线)”
项目开发从来就不是一个简单的问题.更难的问题是维护其他人开发的项目,并且要修改bug.如果原系统有重大问题还需要重构. 怎么重构系统不是本文探讨的问题,但是重构后如何上线部署和本文关系密切.这个大家可 ...
- Android开发之Java必备基础
Android开发之Java必备基础 Java类型系统 Java语言基础数据类型有两种:对象和基本类型(Primitives).Java通过强制使用静态类型来确保类型安全,要求每个变量在使用之前必须先 ...
随机推荐
- NAND Flash Bad Block Table
转:http://wiki.laptop.org/go/NAND_Flash_Bad_Block_Table 1 OLPC NAND Bad Block Management 1.1 Introduc ...
- hdu1013(C++)
9的余数定理:一个数各位数字的总和除以9的余数与它本身除以9的余数同等 大数问题:防止大数,用字符串来存入数据,再转化为数字 #include<iostream>#include<s ...
- 文件流:"fopen","fclose",“ftell”"fseek","fgets","fprintf" ,“feof”,"fwrite","fread"
char const* filename="D:/hello.txt"; 路径名使用的是“/”或者使用 转义字符“\\”: "fopen", FILE *fp= ...
- [转载]使用java.lang.Process类的简单例子
FROM: http://segmentfault.com/blog/lidonghao/1190000000372192 ProcessBuilder类是J2SE 1.5在java.lang中新添加 ...
- ECSHOP生成缩略图模糊
原因是因为ECSHOP生成缩略图时,用到的函数 imagejpeg() 没有设置质量参数.注释:质量参数为可选项,范围从 0(最差质量,文件更小)到 100(最佳质量,文件最大).如果没有设置质量参 ...
- 使用Zxing 一维码
最近看到满大街的二维码扫码有惊喜,对二维码也有过一些了解,想看看到底是什么原理,在网上找了一些资料,自己弄了一个实例,采用的是MVC,贴出来分享一下 一维码生成 Controller public A ...
- 倍福TwinCAT(贝福Beckhoff)基础教程2.2 TwinCAT常见类型使用和转换_枚举
在Duts的文件夹上右击,可以声明一个枚举类型,按照格式填写所有类型(注意枚举的元素前面都是逗号,最后一个不需要符号) 在正常使用的时候,枚举的单词可以当全局变量来用 更多教学视频和资料下 ...
- 系统重装 U盘安装XP操作系统开机出现提示txtsetup.sif怎么办
你的这个问题 是安装xp时把xp做成u盘出现的 原因是xp没有在根本上支持这种安装 到win7后才支持的 解决方法有以下几种 1,刻录成cd 2重新下载xp ghost版的不会出现这个问题 3证实Ul ...
- WCF configure
1. maxBufferSize 一个正整数,指定内存中用于存储消息的缓冲区的最大大小(字节). 如果 transferMode 属性等于 Buffered,则此属性应等于 maxReceivedMe ...
- Jscript 随记
1.Jscript 不能用来编写独立执行的应用程序,而且没有对读写文件的内置支持. 2.注意,语句块中的原始语句以分号结束.但语句块本身并不以分号结束. 3.注意,Jscript 与 C++ 以及其它 ...