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

时间:2012-03-15 17:32:50

标签: perl http-headers content-type

我正在查询文档的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

所以此时我可以检索网络文档,但我想知道服务器随之发送的内容类型。不幸的是,这并不总是与bash'file'命令找到的mime类型相同。对于.js或.css文档,此文件方法失败。

2 个答案:

答案 0 :(得分:15)

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');

答案 1 :(得分: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 {/Hogwarts/} @header_field_names;