http://blog.chinaunix.net/uid-22566367-id-3109877.html

简单的说,cgi是沟通HTML表单和服务器端程序的接口,是可以被其他语言所应用的一个规范集。

必要条件,安装apache。 
首先建立C程序,这里就不多介绍。参照前面的文章或者其它的参考书籍。 
建立文件hello.c,内容如下: 
#include <stdio.h> 
int main() 

printf("Content-type:text/html\n\n"); 
printf("<html>"); 
printf("<head><title>welcome to c cgi.</title></head><body>"); 
printf("你好:世界
"); 
printf("</body></html>"); 

编绎hello.c,生成hello.exe。把hello.exe文件拷到 apache安装/cgi-bin/ 目录下。 
然后配置 apache 配置文件 httpd.conf。在配制文件中找到 
AddHandler cgi-script .cgi 在这一行后面加上 .exe,并且去掉前边的# 
最后在浏览器中输入 http://localhost/cgi-bin/hello.exe,回车。 
在浏览器中将显示:你好:世界。 
通过index.html调用cgi 
index.html 文件如下: 
<HTML> 
<HEAD> 
<HEAD> 
<BODY> 
<FORM ACTION=http://localhost/cgi-bin/cgi.exe METHOD=POST> 
<INPUT TYPE=submit VALUE=OK> 
</FORM> 
</BODY> 
</HTML> 
在浏览器中输入 http://localhost/index.html,回车。 
点击ok按钮,调用cgi程序浏览器显示:你好:世界。

使用c语言编写cgi程序的更多相关文章

  1. 编写CGI程序步骤

    CGI common gateway interface 可以让一个客户端,从网页浏览器向服务器请求数据, 这是描述客户端和服务器程序之间传输数据的一种标准. CGI是运行在服务器上的程序,提供同客户 ...

  2. C语言写CGI程序

    一.CGI概述 CGI(公用网关接口)规定了Web服务器调用其他可执行程序(CGI程序)的接口协议标准.Web服务器通过调用CGI程序实现和Web浏览器的交互, 也就是CGI程序接受Web浏览器发送给 ...

  3. C语言开发CGI程序的简单例子

    这年头用C语言开发cgi的已经不多,大多数的web程序都使用java.php.python等这些语言了. 但是本文将做一些简单的cgi实例. 首先配置环境 #这里是使用的apache AddHandl ...

  4. 《用C++语言编写一个程序,求PI的值》

    //编写一个C++程序求PI的值 /* PI=16arctan(1/5)-4arctan(1/239) 其中arctan用如下形式的极数计算: arctan=x-(x^3/3)+(x^5/7)-(x^ ...

  5. EasyWebServer编写CGI程序的环境变量

    示例: SERVER_SOFTWARE=EasyWebServer/1.9 SERVER_PROTOCOL=HTTP/1.1 SERVER_PORT= SERVER_NAME=aozima-noteb ...

  6. 实验 2 用C语言编写简单程序

    #include<stdio.h> int main() { int x,y; printf("enter x:"); scanf("%d",&am ...

  7. 几种语言的CGI编程

    为了了解PHP.JSP.ASP出现之前人们写网站的方法,洒家研究了一波CGI,使用C.Python.batch.shell script语言写了几个简单的网页. CGI即通用网关接口,指web服务器调 ...

  8. cgic 写CGI程序

    CGIC是C语言CGI库函数,用于编写CGI程序 CGIC 主要完成以下功能: * 对数据进行语法分析 * 接收以 GET 和 PSOT 两种方式发送的数据 * 把 FORM 中的不同域连接成连续的串 ...

  9. 写一个CGI程序并运行

    准备Linux和Apache我在/var/www/cgi-bin/下建一个文件get.c #include <stdio.h> #include <stdlib.h> int ...

随机推荐

  1. [Oracle] Data Pump 详细使用教程(4)- network_link

    [Oracle] Data Pump 详细使用教程(1)- 总览 [Oracle] Data Pump 详细使用教程(2)- 总览 [Oracle] Data Pump 详细使用教程(3)- 总览 [ ...

  2. 【转】setAnimation和startAnimation区别

    http://stackoverflow.com/questions/10909865/setanimation-vs-startanimation-in-android http://blog.cs ...

  3. C# 保存窗口为图片(保存纵断面图)

    源代码例如以下: #region 保存纵断面截图 private void button_save_Click(object sender , EventArgs e) { SaveFileDialo ...

  4. HDU 1025 Constructing Roads In JGShining&#39;s Kingdom (DP)

    Problem Description JGShining's kingdom consists of 2n(n is no more than 500,000) small cities which ...

  5. max_connections 与 max_used_connections --ERROR 1040: Too many connections

    mysql> show variables like 'max_connections'; +-----------------+-------+ | Variable_name | Value ...

  6. Realm Configuration HOW-TO--官方

    来源:https://secure.gettinglegaldone.com/docs/realm-howto.html Quick Start This document describes how ...

  7. 一次优化web项目的经历记录(二)

    一次优化web项目的经历记录 这段时间以来的总结与反思 前言:最近很长一段时间没有更新博客了,忙于一堆子项目的开发,严重拖慢了学习与思考的进程. 开水倒满了需要提早放下杯子,晚了就会烫手,这段时间以来 ...

  8. codevs 1170 双栈排序

    /* 好题啊 好题啊 而然还是看了一眼题解啊 有那么一点思路 但是离写出代码还很远 考虑必须分开放倒两个栈里的情况 即存在i<j<k 有 a[k]<a[i]<a[j] 这里RM ...

  9. Java-Hibernate官方英文文档地址

    Hibernate官方英文文档地址  http://docs.jboss.org/hibernate/orm/4.3/manual/en-US/html/

  10. 绘图quartz之阴影

          //设置矩形的阴影  并在后边加一个圆 不带阴影     步骤:     CGContextRef context = UIGraphicsGetCurrentContext();     ...