Perl高级开发:cgi.web编程

| 暂无评论 | 暂无引用通告

--> 编写是记得返回Content-Type头以返回介质类型以定义主体的内容,并在所面跟两个新行。如:
print "Content-Type:text/html\n\n";
使用%ENV得到所有的环境变量.
foreach(sort keys %ENV){
print "$_\t$ENV{$_}\n";
}

使用CGI模块

创建对象
my $cgi=new CGI;
获得传递过来的参数的关键字:
@keys=$cgi->param();
获得传递过来的参数值:
$value=$cgi->param('key');      这里的key是参数关键字
产生一个新参数:
$cgi->param('newkey','newvalue');
更改一个参数:
$cgi->param('oldkey','newvalue');
删除一个参数:
$cgi->delete('oldkey');
删除一个参数的值:
$cgi->param('oldkey','undef');

请求


CGI脚本响应Web服务器取决于客户机使用的HTTP方法.
方法一:GET
        客户机传递参数的方法有:
        a.查询字符串
        http://www.myserver.com/cgi/myscript.cgi?key=value
        QUERY_STRING的值被置为key=value
        b.路径信息方法
        http://www.myserver.com/myscript/extrapath/arg
        PATH_INFO变量被设置
        当然我们也可以将上面的两种方法结合在一起使用
GET方法的缺点在于服务器只能处理一个不超过256个字符的HTTP命令

方法二:POST

 
       在HTTP请求的主体中传递参数
        优点在于可以尽可能多的传递参数,缺点在于不能记录请求的详细信息

响应


定义介质类型,通过往标准输出中发送内容来达到返回内容的目的。如果请求CGI脚本时服务器开始为客户机产生500服务器错误响应,那么Content-Type头是首先检查的内容。

访问环境

我们可以通过%ENV来访问CGI变量也可以通过CGI模块提供的方法来访问它们。
常用的方法有:
Accept  支持的介质类型。可以通过 if($cgi->Accept('image/png')来测试
raw_cookie      Cookie头的原始值。
user_agent      发出请求的用户代理软件。
path_info       客户提供的附加路径信息。
path_translated 翻译成一个绝对路径名字的path_info的值。

暂无引用通告

发送引用通告网址: http://supersun.info/mt/mt-tb.cgi/541
如果您想引用这篇日记到您的Blog,请复制上面的链接,放置到您发表文章时的相应界面中。

发表评论

最新资源

  • IMG_1437.JPG
  • line.png
  • bar.png
  • perl_calander.jpg

关于此日记

此日记由 supersun 发表于 2007年3月26日 18:07

此Blog上的上一篇日记Perl高级编程:模块的使用

此Blog上的下一篇日记快速增强路由器安全的十个小技巧

首页归档页可以看到最新的日记和所有日记。