加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 21:12:59 所属栏目:大数据 来源:网络整理
导读:我已经使用Perl一些小的应用程序和测试代码,但我是新来的网络和CGI. 我得到如何使一个请求的标题(使用CGI.pm并打印header()函数的结果),但是无法找到有关如何访问发送到我的CGI脚本的标题的任何信息.有人可以指出我的方向正确吗? 这可能是从这样的请求: cu
我已经使用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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读