0

我正在寻找一种http headers从给定网址获取的方法。我尝试了以下代码,但它不起作用:

#!/usr/bin/perl

#use warnings;
#use strict;
use LWP::UserAgent;

my $ua  = LWP::UserAgent->new;
my $res = $ua->get("http://cpan.org");
print $res->header('Content-Length');

上面的代码什么也没打印。那么,我在哪里出错了,或者有没有更好的方法来访问标题。

4

2 回答 2

3

在假设您可以像使用它一样使用它之前,您应该检查请求的结果:

use v5.10;

use LWP::UserAgent;

my $ua  = LWP::UserAgent->new;
my $res = $ua->get("http://444.cpan.org");

if( $res->is_success ) {
    say "Content length is ", $res->header('Content-Length');
    }
else {
    say "Error! ", $res->code;
    }

请记住,Content-Length 标头并不意味着您的请求成功。错误响应可能仍包含消息正文,该正文具有一定长度。

于 2012-09-09T22:23:02.457 回答
2
use LWP::UserAgent;

my $ua  = LWP::UserAgent->new;
my $res = $ua->get("http://cpan.org");
print $res->headers->as_string;
于 2012-09-09T21:47:21.877 回答