- 4
- 0
- 约1.57千字
- 约 5页
- 2017-06-12 发布于北京
- 举报
CGI程序调用示例
CGI概述
CGI(Common Gateway Interface: 公用网关接口)规定了Web服务器调用其他可执行程序(CGI程 序)的接口协议标准。Web服务器通过调用CGI程序实现和Web浏览器的交互,也就是CGI程序接受Web浏览器发送给Web服务器的信息,进行处理,将响应结果再回送给Web服务器及Web浏览器。CGI程序一般完成Web网页中表单(Form)数据的处理、数据库查询和实现与传统应用系统的集成等工作。CGI程序可以用任何程序设计语言编写,如Shell脚本语言、Perl、Fortran、Pascal、C语言等。但是用C语言编写的CGI程序具有执行速度快、安全性高(因为C语言程序是编译执行且不可被修改)等特点。
CGI接口标准包括标准输入、环境变量、标准输出三部分。标准输入 CGI程序像其他可执行程序一样,可通过标准输入(stdin)从Web服务器得到输入信息,如Form中的数据,这就是所谓的向CGI程序传递数据的POST方法。这意味着在操作系统命令行状态可执行CGI程序,对CGI程序进行调试。环境变量 操作系统提供了许多环境变量,它们定义了程序的执行环境,应用程序可以存取它们。Web服务器和CGI接口又另外设置了自己的一些环境变量,用来向CGI程序传递一些重要的参数。CGI的GET方法还通过环境变量QUERY-STRING向CGI程序传递Form中的数据。 标准输出 CGI程序通过标准输出(stdout)将输出信息传送给Web服务器。传送给Web服务器的信息可以用各种格式,通常是以纯文本或者HTML文本的形式,这样我们就可以在命令行状态调试CGI程序,并且得到它们的输出。
图1 CGI调用示意图
Web浏览器:web浏览器是与用户进行交互的界面,直接使用html语言中的form表单提交数据,可以使用get方法或者post方面进行参数传递,后面将给出get方法调用的例子。
Web服务器:web服务器解析浏览器提交的URL中的文件信息,根据URL地址信息找到对应的CGI程序。Web服务器可以是iis或者tomcat等,也可以直接编写一个简单的web服务器,简单处理浏览器提交的业务交互。(经了解,公司的业务监控系统是自主开发的web服务器,未使用主流的web服务器。)
CGI程序:CGI程序即一般的可执行程序,它通过操作系统或者web服务器本身的环境变量获取浏览器提交的业务参数,进行逻辑运算,运算后的结果在通过标准输出的方法,直接通过web服务器返回到浏览器展示给用户。例如C语言中的标准输入就是printf方法。
CGI程序示例
为展示CGI程序调用的完成过程,本文演示一个浏览器调用c编写CGI程序的调用过程,实现的功能很简单,就是把表单中输入的数值乘起来,然后输出结果
图4 CGI代码
以上CGI可执行程序,它是由C编写并调试好后生成exe可执行文件,并更改为cgi结尾的文件放置到web服务器指定的服务目录下,通过图4代码,CGI程序使用环境变量getenv获取浏览器传递过来的参数,然后对参数进行参数校验,最后通过标准输出语句printf通过web服务器传递到浏览器。
Web服务器在此处的过程是解析URL调用正确的CGI程序,然后向指定的客户机浏览器返回输出结果。
CGI执行完生成如下的脚本:
图5 CGI向浏览器输入的结果
执行结果
用户在浏览器点击确定后,CGI程序执行完相应代码并生成html语言的脚本经由web服务器传递到客户浏览器,其效果如下图:
CGI程序调用示例
Web浏览器
Web服务器
CGI程序
http协议,通过Get或post传递参数
通过环境变量获取浏览器参数,业务逻辑运算后返回浏览器
您可能关注的文档
最近下载
- 全国大学生数学建模竞赛b题全国优秀论文.docx VIP
- 全国大学生数学建模竞赛b题全国优秀论文 .pdf VIP
- 2026浙美版美术八年级下册第二单元第3课《独特的视角》课件.pptx
- 2023年全国大学生数学建模竞赛题目B:.docx VIP
- 2020年美国大学生数学建模竞赛题目E--淹没在塑料中范文五篇(含源代码).pdf VIP
- 2021年全国大学生数学建模竞赛题目E:中药材的鉴别优秀论文范例两篇(含源代码).pdf VIP
- 2025-《期货基础知识》教材精讲班.pdf VIP
- 农贸市场改造升级策略及实施方案.docx VIP
- 高中英语单词表(全)(最新完整版)11802.xls VIP
- 比亚迪E5汽车驱动电机异响故障检修方案设计.docx VIP
原创力文档

文档评论(0)