1. 安装Apach

  2. 配置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的更多相关文章

  1. 服务器开发之CGI后门

    1.html代码 <form id = "form" name="form" method="post" action=". ...

  2. Asp.net Mvc模块化开发之“开启模块开发、调试的简单愉快之旅”

    整个世界林林种种,把所有的事情都划分为对立的两个面. 每个人都渴望的财富划分为富有和贫穷,身高被划分为高和矮,身材被划分为胖和瘦,等等. 我们总是感叹,有钱人的生活我不懂;有钱人又何尝能懂我们每天起早 ...

  3. iOS开发之Socket通信实战--Request请求数据包编码模块

    实际上在iOS很多应用开发中,大部分用的网络通信都是http/https协议,除非有特殊的需求会用到Socket网络协议进行网络数 据传输,这时候在iOS客户端就需要很好的第三方CocoaAsyncS ...

  4. Android开发之InstanceState详解

    Android开发之InstanceState详解   本文介绍Android中关于Activity的两个神秘方法:onSaveInstanceState() 和 onRestoreInstanceS ...

  5. DarkStone - 跨平台移动应用开发之 Flex 的崛起

    我的好友Ds 发布一个flex的消息.我帮忙转发 DarkStone - 跨平台移动应用开发之 Flex 的崛起 (2013-08-20 22:28:32)     此文章由 周戈 (DarkSton ...

  6. 【转载】浅谈游戏开发之2D手游工具

    浅谈游戏开发之2D手游工具 来源:http://www.gameres.com/459713.html 游戏程序 平台类型: iOS Android  程序设计: 其它  编程语言:   引擎/SDK ...

  7. Android安全开发之WebView中的地雷

    Android安全开发之WebView中的地雷 0X01 About WebView 在Android开发中,经常会使用WebView来实现WEB页面的展示,在Activiry中启动自己的浏览器,或者 ...

  8. Asp.net Mvc模块化开发之“部分版本部分模块更新(上线)”

    项目开发从来就不是一个简单的问题.更难的问题是维护其他人开发的项目,并且要修改bug.如果原系统有重大问题还需要重构. 怎么重构系统不是本文探讨的问题,但是重构后如何上线部署和本文关系密切.这个大家可 ...

  9. Android开发之Java必备基础

    Android开发之Java必备基础 Java类型系统 Java语言基础数据类型有两种:对象和基本类型(Primitives).Java通过强制使用静态类型来确保类型安全,要求每个变量在使用之前必须先 ...

随机推荐

  1. 如何避免CSS :before、:after 中文乱码

    问题: 在进行页面开发时,经常会使用:before, :after伪元素创建一些小tips,但是在:before或:after的content属性使用中文的话,会导致某些浏览器上出现乱码. 解决方案: ...

  2. CSS限制

    http://www.cnblogs.com/YanPSun/archive/2012/03/16/2400141.html

  3. 用ASP实现JS的decodeURIComponent()函数

    <% response.write jsDecodeURIComponent( "%E6%B5%8B%E8%AF%95" ) %> <script languag ...

  4. Qt中的非模式窗口配置;

    Test7_5A::Test7_5A(QWidget *parent) : QMainWindow(parent){ ui.setupUi(this); m_searchwin = new Searc ...

  5. osgconv使用指南(转)

    osgconv是一种用来读取3D数据库以及对它们实施一些简单的操作的实用应用程序,同时也被称作 一种专用3D数据库工具. 用osgconv把其他格式的文件转换为OSG所支持的格式 osgconv是一种 ...

  6. 116 - Unidirectional TSP(DP)

    多段图的最短路问题 .  运用了非常多的技巧 :如 记录字典序最小路径 . 细节參见代码: #include<bits/stdc++.h> using namespace std; con ...

  7. zookeeper启动错误 ---- Unable to load database on disk

    zk启动报错 解决办法,进入zkdata目录删除version-2下面的所有文件 参考: https://issues.apache.org/jira/browse/ZOOKEEPER-1546 [h ...

  8. 测试用例 自动生成工具PICT与AllPairs

    通常我们在设计或编写测试用例时,存在一个"痛点":要么设计的测试用例存在遗漏,难以100%覆盖测试需求:要么被测系统过于复杂,设计的测试用例过多,导致前期的设计和后续的执行工作量过 ...

  9. 机房收费系统合作版(二)——初识Git

    研究了一天半的Git.查阅了不少资料,这里将Git的运用分为两条线做个简单梳理:本地控制库.远程控制库. **************************************本地控制库**** ...

  10. JavaScript 判断浏览器及版本

    /* 智能机浏览器版本信息: alert("语言版本: "+browser.language); alert(" 是否为移动终端: "+browser.vers ...