我想在我的 perl 脚本中读取 http 或 https 请求中的 header :
#!/usr/bin/perl
use LWP::UserAgent;
my $ua = new LWP::UserAgent;
my $url = "http://example.com/";
my $req = $ua->get("$url");
我想提取上层请求的headers数据如:
HTTP/1.1 200 OK
Access-Control-Allow-Headers: accept, origin, content-type, content-length
Access-Control-Allow-Methods: GET,PUT,POST,DELETE,OPTIONS
Access-Control-Allow-Origin: *
Content-Encoding: gzip
Content-Type: application/javascript
Date: Thu, 28 Apr 2016 01:43:01 GMT
Etag: "779429019"
Cookie: username=usrname; pass=P@S$W0RD;
X-Powered-By: adzerk bifrost/
x-served-by: engine-i-536776c8
最佳答案
请注意,您的$req
实际上是一个response 对象,而不是请求
要检查所有 header 字段,您正在寻找 $resp->headers_as_string
要生成您显示的输出,您可以这样写
#!/usr/bin/perl
use LWP::UserAgent;
my $ua = new LWP::UserAgent;
my $url = 'http://example.com/';
my $resp = $ua->get($url);
print $resp->protocol, ' ', $resp->status_line, "\n";
print $resp->headers_as_string, "\n";
关于perl - 在 Perl 中从 HTTP 请求中提取 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36903905/