Perl: ネット上のファイルをダウンロードする

Perl: ネット上のファイルをダウンロードする

特定のURLで公開されているファイルを、スクリプトでローカル環境へとダウンロードしたい場合があるかと思います。今回は、Perl での書き方を紹介します。

LWP::UserAgent というモジュールを使います。

use strict;
use warnings;
use LWP::UserAgent;
my $ua = LWP::UserAgent->new();
my $response = $ua->get('http://XXXXX.png', ':content_file' => 'image.png');
if ($response->is_success) {
print "succeeded.";
} else {
print "failed. " . $response->status_line;
}

content_file の部分には、ダウンロード先のファイル名を指定します。

httpsのURLの場合、エラーが出ることがありますが、new の部分を、以下のようにすれば、取得できると思います。ただし、セキュリティ上の問題があるので、URLが信用できる場合のみ実行するようにしましょう。

my $ua = LWP::UserAgent->new(ssl_opts => {verify_hostname => 0});