Perl LWP :: useragent捕获服务器响应标头

问题描述 投票:5回答:2

我正在向Web服务器查询文档,我想同时捕获文档和相关的服务器响应标头(尤其是Content-Type:...)。我很难找出如何阅读标题。这是我的Perl脚本中的一些代码片段,为了清楚起见,我进行了错误检查:

use LWP::UserAgent;
my $ua = LWP::UserAgent->new;
$ua->agent( 'requiredCustomUserAgent' ); # I'm required to set a custom user agent
$imageData = $response->content;         # This is the received document

因此,我现在可以检索Web文档,但是我想知道服务器随其发送的Content-Type。不幸的是,这并不总是与bash'file'命令找到的mime类型相同。如果是.js或.css文档,此文件方法将失败。

perl http-headers content-type
2个回答
17
投票

http://search.cpan.org/perldoc?HTTP::Response

use LWP::UserAgent;
my $ua = new LWP::UserAgent;
my $response = $ua->get("http://google.co.uk");

print $response->headers()->as_string;
print $response->header('content-type');

0
投票

请求返回的内容包含一个HTTP :: Headers对象,因此请查看HTTP :: Headers的文档以了解如何使用它。例如

my $response = $ua->request($req);       
my $headers = $response->headers();
my @header_field_names = $headers->header_field_names();
$logger->info("$_: ".$headers->header($_)) for grep {/Shopify/} @header_field_names;
© www.soinside.com 2019 - 2024. All rights reserved.