我已经使用Perl一些小的应用程序和测试代码,但我是新来的网络和CGI.
我得到如何使一个请求的标题(使用CGI.pm并打印header()函数的结果),但是无法找到有关如何访问发送到我的CGI脚本的标题的任何信息.有人可以指出我的方向正确吗?
这可能是从这样的请求:
curl http://127.0.0.1:80/cgi-bin/headers.cgi -H“HeaderAttribute:value”
解决方法
CGI模块有一个可以用于此目的的http()函数:
#!/usr/bin/perl -- use strict; use warnings; use CGI; my $q = CGI->new; my %headers = map { $_ => $q->http($_) } $q->http(); print $q->header('text/plain'); print "Got the following headers:\n"; for my $header ( keys %headers ) { print "$header: $headers{$header}\n"; }
试试看;以上给了我:
$curl http://localhost/test.cgi -H "HeaderAttribute: value" Got the following headers: HTTP_HEADERATTRIBUTE: value HTTP_ACCEPT: */* HTTP_HOST: localhost HTTP_USER_AGENT: curl/7.21.0 (i686-pc-linux-gnu) libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18