Username: Password:

CGI教程(2)怎样从服务器获得信息
来源:linux宝库作者:linux宝库 发布时间:2007-09-30 00:00:00


  怎样从服务器获得信息

  每次客户端需要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环境变量(服务器为您产生的)来知道文档的真实路径。

喜欢本文,那就收藏到:

    Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网
相关评论  我也要评论
还没有关于此文章的相关评论!
  • 昵称: (为空则显示guest)
  • 评论分数: ★ ★ ★★★ ★★★★ ★★★★★
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  • 导航
    赞助商
    文章类别
    订阅