PSLブログ

ヨシナシゴトヲツヅリマス

LWPで基本認証のかかったページを取得する方法

備忘録。

use LWP::UserAgent;
use HTTP::Request;

sub get_contents {

    # $url - 取得したいページのURL
    # $auth_id - 基本認証のID
    # $auth_passwd - 基本認証のパスワード
    my($url, $auth_id, $auth_passwd) = @_;

    my $req = HTTP::Request->new(GET => $url);
    $req->authorization_basic($auth_id, $auth_passwd);
    my $ua = LWP::UserAgent->new();
    my $res = $ua->request($req);
    if ($res->is_success) {
        return $res->content;
    } else {
        die $res->code;
    }
}

取得に失敗したときは、$res->code を見ればよい。