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