Perlコーディング初心者質問スレ Part 63
■ このスレッドは過去ログ倉庫に格納されています
0258nobodyさん
2011/10/25(火) 23:53:11.13ID:???use LWP::Simple;
my $data = get('URL');
特に認証がなければ、これで取得できるかと。
自分は
use LWP::UserAgent;
use HTTP::Request::Common;
use utf8;
my $ua = LWP::UserAgent->new;
〜agent とか timeout とか max_redirect とか cookie の設定〜
my $req = GET('URL');
my $res = $ua->request($req);
my $content = $res->code() eq '200' ? decode('utf-8', $res->content()) : '';
ってやってる。
手順が多いけど、自分の頭ではこの方が使いやすい。
$res->code() eq '200' の部分は $res->is_success とかで置き換えられるけど、回線がパンパンのときに失敗すると
is_success は 1 を返すので信用出来ない。
HTML の取得なら、$res->content() に </html> が含まれるかどうかで判断した方が良い。
つっても、殆どの場合は is_success や is_error は正しく動作する。
■ このスレッドは過去ログ倉庫に格納されています