perl – 如何在CGI脚本中访问请求的HTTP头?

前端之家收集整理的这篇文章主要介绍了perl – 如何在CGI脚本中访问请求的HTTP头?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经使用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

猜你在找的Perl相关文章