




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
CGI程序调用示例CGI程序调用示例1. 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程序传递数据的Get方法或者POST方法。这意味着在操作系统命令行状态可执行CGI程序,对CGI程序进行调试。 环境变量 操作系统提供了许多环境变量,它们定义了程序的执行环境,应用程序可以存取它们。Web服务器和CGI接口又另外设置了自己的一些环境变量,用来向CGI程序传递一些重要的参数。CGI的GET方法还通过环境变量QUERY-STRING向CGI程序传递Form中的数据。 标准输出 CGI程序通过标准输出(stdout)将输出信息传送给Web服务器。传送给Web服务器的信息可以用各种格式,通常是以纯文本或者HTML文本的形式,这样我们就可以在命令行状态调试CGI程序,并且得到它们的输出。2. CGI程序调用过程Web浏览器Web服务器CGI程序http协议,通过Get或post传递参数通过环境变量获取浏览器参数,业务逻辑运算后返回浏览器图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方法。3. CGI程序示例为展示CGI程序调用的完成过程,本文演示一个浏览器调用c编写CGI程序的调用过程,实现的功能很简单,就是把表单中输入的数值乘起来,然后输出结果,具体过程如下: 演示过程:用户在浏览器输入两个数字,CGI程序根据用户输入的数值自动完成乘法运算并返回到界面的完整过程。 浏览器代码:图2 浏览器脚本以上是浏览器运行的html脚本,其中form表单中Action属性已经指定了要调用的cgi程序。浏览器运行的效果图如下:图3 浏览器执行效果图以上是浏览器执行的效果图,在图中已经指定了两个参数3和5. CGI程序图4 CGI代码以上CGI可执行程序,它是由C编写并调试好后生成exe可执行文件,并更改为cgi结尾的文件放置到web服务器指定的服务目录下,通过图4代码,CGI程序使用环境变量getenv获取浏览器传递过来的参数,然后对参数进行参数校验,最后通过标准输出语句printf通过web服务器传递到浏览器。Web服务器在此处的过程是解析URL调用正确的CGI程序,然后向指定的客户机浏览器返回输出结果。CGI执行完生
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 一年级上美术教学设计(A)-小小食品店-湘美版
- 一年级信息技术上册 我的图册-用看图软件创建图册 2教学设计 河大版
- 华师大版七年级科学下册2.4 二氧化碳 教学设计(5份打包)
- 系统分析师考试的主题及目标分析试题及答案
- 2024年福建事业单位考试知识讲解试题及答案
- 园林设计苗木购销协议
- 2024年农业职业经理人考试的团队合作能力及试题及答案
- 八年级生物上册 6.16.2人体对信息的感知教学设计 (新版)苏科版
- 人教版历史与社会七下第五单元第一课《国土与人民》教学设计
- 农业政策影响分析与研究试题及答案
- 【一等奖课件】《刑事摄像技术》比赛课题:现场照相内容及方法
- 幼儿园大班社会活动《认识交通工具》课件
- 肺结核护理教案
- DL∕T 1084-2021 风力发电场噪声限值及测量方法
- 企业并购财务风险分析及控制
- NB-T47023-2012长颈对焊法兰
- 铝模工程劳务承包合同协议书
- 2024年高考数学1卷对高中数学教学的启发
- 预制混凝土剪力墙吊装施工技术讲解
- 2024年广西中考语文试卷真题(含官方答案及逐题解析)
- 2024年浙江长征职业技术学院单招职业技能测试题库含答案解析
评论
0/150
提交评论