0

http headers特定のURLから取得する方法を探しています。以下のコードを試しましたが、うまくいきません。

#!/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 に答える