# Perl: HTTPリクエストでWebページを取得する ## CPANモジュール逆引きガイド HTTP リクエストを発行して Web ページ(Web コンテンツ)を取得するための CPAN モジュール。 ### Furl {{cpan: Furl}} は速度重視の httpクライアントモジュール。スレッドセーフな read timeout が実装されているので安心して利用しやすい。(自分は基本的に Furl を利用していて、Furl で難しい場合のときだけ LWP::UserAgent を使ったりする) ### LWP::UserAgent {{cpan: LWP::UserAgent}} は Perl httpクライアントモジュールの定番。 ### URI::Fetch {{cpan: URI::Fetch}} は Last-Modified や ETag に対応した httpクライアントモジュールで、gzip 転送にも対応しており、サーバサイドやネットワークに優しいリクエストが行える。 feeds (RSS, Atom) の取得を目的に書かれたようす。 ### HTTP::Tiny 簡単な http クライアントが欲しければ {{cpan: HTTP::Tiny}}。ドキュメントに記述がありますが、{{cpan: HTTP::Lite}} より {{cpan: HTTP::Tiny}} 使っとけ、って感じらしい。 ### LWP::Simple {{cpan: LWP::Simple}} も簡単な http クライアントのひとつ。`getprint "URL"` という関数が便利。 ### WWW::Mechanize {{cpan: WWW::Mechanize}} はブラウザエミュレートな httpクライアントモジュール。ある webサイトに対してブラウザアクセスを模した操作を行える。 ## See Also * [[https://metacpan.org/search?q=LWP|LWP]] * [[https://metacpan.org/search?q=LWP%3A%3AUserAgent|LWP::UserAgent]]