用C语言进行CGI程序设计

来源:本站
导读:目前正在解读《用C语言进行CGI程序设计》的相关信息,《用C语言进行CGI程序设计》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《用C语言进行CGI程序设计》的详细说明。
简介:Web服务器通过调用CGI程序实现和Web浏览器的交互,也就是CGI程序接受Web浏览器发送给 Web服务器的信息,进行处 理,将响应结果再回送给Web服务器及Web浏览器。

一、CGI概述

CGI(公用网关接口)规定了Web服务器调用其他可执行程序(CGI程 序)的接口协议标准。Web服务器通过调用CGI程序实现和Web浏览器的交互,

也就是CGI程序接受Web浏览器发送给 Web服务器的信息,进行处 理,将响应结果再回送给Web服务器及Web浏览器。CGI程序一般完成Web网页中表单(Form)数据的处理、数据库查询和实现与传统应用系统 的集成等工作。CGI程序可以用任何程序设计语言编写,如Shell脚本 语言、Perl、Fortran、Pascal、C语言等。但是用C语言编写的CGI程 序具有执行速度快、安全性高(因为C语言程序是编译执行且不可被修 改)等特点。

CGI接口标准包括标准输入、环境变量、标准输出三部分。

1.标准输入

CGI程序像其他可执行程序一样,可通过标准输入(stdin)从Web服 务器得到输入信息,如Form中的数据,这就是所谓的向CGI程序传递数 据的POST方法。这意味着在操作系统命令行状态可执行CGI程序,对CG I程序进行调试。POST方法是常用的方法,本文将以此方法为例,分析C GI程序设计的方法、过程和技巧。

2.环境变量

操作系统提供了许多环境变量,它们定义了程序的执行环境,应用 程序可以存取它们。W eb服务器和CGI接口又另外设置了自己的一些 环境变量,用来向CGI程序传递一些重要的参数。CGI的GET方法还通过 环境变量QUERY-STRING向CGI程序传递Form中的数据。

3.标准输出

CGI程序通过标准输出(stdout)将输出信息传送给Web服务器。传 送给Web服务器的信息可以用各种格式,通常是以纯文本或者HTML文本 的形式,这样我们就可以在命令行状态调试C GI程序,并且得到它们的 输出。

下面是一个简单的CGI程序,它将HTML中Form的信息直接输出到We b浏览器。

#include <stdio.h>

#include <stdib.h>

main()

{

int,i,n;

printf (″Contenttype:text/plainnn″);

n=0;

if(getenv(″CONTENT-LENGTH″))

n=atoi(getenv(CONTENT-LENGTH″));

for (i=0;i<n;i++)

putchar(getchar());

putchar (′n′);

fflush(stdout);

}

下面对此程序作一下简要的分析。

prinft (″Contenttype:text/plainnn″);

此行通过标准输出将字符串″Contenttype:text/plainnn″传 送给Web服务器。它是一个MIME头信息,它告诉Web服务器随后的输出 是以纯ASCII文本的形式。请注重在这个头信息中有两个新行符,这是 因为Web服务器需要在实际的文本信息开始之前先看见一个空行。

if (getenv(″CONTENT-LENGTH″))

n=atoi (getenv(″CONTENT-LENGTH″));

此行首先检查环境变量CONTENT-LENGTH是否存在。Web服务器在 调用使用POST方法的CGI程序时设置此环境变量,它的文本值表示Web 服务器传送给CGI程序。

提醒:《用C语言进行CGI程序设计》最后刷新时间 2024-03-14 01:01:12,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《用C语言进行CGI程序设计》该内容的真实性请自行鉴别。