gpt4 book ai didi

perl - 如何在 CGI 脚本中访问请求的 HTTP header ?

转载 作者:行者123 更新时间:2023-12-03 12:08:01 25 4
gpt4 key购买 nike

我在小型应用程序和测试代码中使用过一些 Perl,但我对网络和 CGI​​ 不熟悉。

我知道如何制作请求的 header (使用 CGI.pm 并打印 header() 函数的结果),但无法找到有关如何访问发送到我的 CGI 脚本的 header 的任何信息。有人能指出我正确的方向吗?

这可能来自这样的请求:
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 - 如何在 CGI 脚本中访问请求的 HTTP header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4007007/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com