用户登陆|用户注册|建站服务|广告合作
您现在的位置: 首页 >> 建站实务 >> 网络编程 >> CGI篇 >> 正文
站内搜索:
CGI教程:怎样从服务器获得信息
[作者:佚名|来源:赛酷建站|时间:2006-08-20| 收藏 投稿 ]【
每次客户端需要URL来对应CGI程序,服务器将实时执行它。程序将直接输出到客户端。关于CGI的公用的误解是你可以发送命令行选项和参数给你的程序,比如:

command% myprog -qa blorf

  CGI为其它目的使用命令行,这样是不可能。相反,CGI使用环境变量来发送给程序它的参数。两个重要的环境参数是:QUERY_STRING和PATH_INFO。

  QUERY_STRING被定义为在URL中跟在第一个?后面的内容。这个信息可以由ISINDEX文档或者通过HTML表单(利用GET action)来增加。它同样可以手动嵌入HTML锚,这个HTML锚可以引用你的网关。这个字符串就是一个信息查询,比如用户想搜索archie数据库或者是你的反馈GET表单的编码结果。

  这个字符串被在标准的URL编码,其格式将空格转换为+,并将特殊的字符利用%xx十六进制编码。你为了使用它必须对它进行编码。

  如果你的网关不是从表单来的编码结果,你同样可以利用命令行得到查询字符串。这就意味着查询字符串的每一个单词将在ARGV的不同部分。比如,查询字符串"forms rule"将以argv[1]="forms" 和 argv[2]="rule"传递给程序。如果你选择这个,你在使用它之前不必做任何的处理。

  下面讲讲PATH_INFO 。CGI允许为你的网关在URL中嵌入额外的信息,这个网关可以用于传递额外的信息给脚本。这个信息通常是处在URL的网关路径之后的额外信息。这个信息不能在服务器中以任何的方法来编码。

  最亦用的PATH_INFO例子是传递文件位置给CGI程序。为了阐述这个,假设我们有一个CGI程序在服务器中,名为/cgi-bin/foobar,它可以处理在服务器的DocumentRoot中的文件。这时我需要通知foobar哪个文件要被处理。通过包括额外的路径信息到URL的末尾,foobar通过PATH_INFO环境变量就知道了文档位置相关的DocumentRoot,或者通过PATH TRANSLATED环境变量(服务器为你产生的)来知道文档的真实路径。


Tags:
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
快速注册通道
赛酷网·中国西部第一建站门户
关于我们 | 投稿指南 | 广告服务 | 建站服务 | 联系我们 | 网站地图 | 友情连接 | 诚征英才
地址:中国·昆明盘龙区丽水天锦A栋15楼A06 服务热线:0871-5610002 5732371联系我55693344 联系我80796509
建站交流群:17577271 下载交流群:11885804 22003060 35468519 交流论坛
© CopyRight 2005-2007, Syku.Net, Inc. All Rights Reserved
赛酷网络版权所有 滇ICP备05000398号