LWP::UserAgent

libwww-perl インタフェース

use LWP::UserAgent;
パッケージをロードする。

my $ua = LWP::UserAgent->new(%option);
インスタンスを生成する。%optionには、下記のものが指定可能。

KEY デフォルト値 意味
agent "libwww-perl/#.###" USER_AGENT
from undef 電子メールアドレス
conn_cache undef コネクションキャッシュ(LWP::ConnCache オブジェクト)
cookie_jar undef cookie文字列(HTTP::Cookies オブジェクト)
default_headers HTTP::Headers->new HTTPヘッダ(HTTP::Headers オブジェクト)
max_size undef 最大許容コンテンツ長
max_redirect 7 最大許容リダイレクト回数
parse_head 1 HTTP::Responseオブジェクトのparseメソッドを実行する
protocols_allowed undef 許可するプロトコルのリストへの参照
protocols_forbidden undef 禁止するプロトコルのリストへの参照
requests_redirectable ['GET', 'HEAD'] リダイレクトを許可するリクエストのリストへの参照
timeout 180 タイムアウト

my $res = $ua->get( $url , $field_name => $value, ... )
$uri からGETメソッドでコンテンツを取得し、HTTP::Responseオブジェクトを返す。$field_nameでヘッダフィールドの値を入力できる。フィールド名は、HTTP::Headersオブジェクト参照。
下記のフィールド名は、特殊な動作をする。
:content_file => $filename:コンテンツを$filenameに保存する。

my $res = $ua->head( $url , $field_name => $value, ... )
$uri からHEADメソッドでヘッダを取得し、HTTP::Responseオブジェクトを返す。$field_nameでヘッダフィールドの値を入力できる。フィールド名は、HTTP::Headersオブジェクト参照。

my $res = $ua->post( $url, $field_name => $value,... Content => \%form );
$uri からPOSTメソッドでコンテンツを取得し、HTTP::Responseオブジェクトを返す。$field_nameでヘッダフィールドの値を入力できる。フィールド名は、HTTP::Headersオブジェクト参照。また、%formでフォームへのデータ入力ができる。

my $res = $ua->request($request [,$content_file]);
$requestはHTTP::Requestオブジェクト。
HTTP::Requestオブジェクトを使ってリクエストを送信する。HTTP::Responseオブジェクトを返す。
$content_fileを指定すると、応答されたコンテンツをこのファイルに保存する。
普通は、get/put/postメソッドを使った方が簡単だが、このメソッドを使うとBASIC認証要求に応答できる。
my $req = HTTP::Request->new(GET => $url);
$req->authorization_basic($user,$password);
my $res = $ua->request($req);

上記以外に、アクセス後にコールバック関数を呼び出して処理させるためのメソッドが諸々ある。