PerlでProxyを介したダウンロード

ftpのURLからファイルをダウンロードする際に, proxyを通す方法がよくわからなかったので調べた.

use strict;
use LWP;

my $proxy = 'http://proxy.dummy.co.jp:8080/';
my $url = 'ftp://foo.bar.co.jp/pack/00_index.txt';

my $ua = new LWP::UserAgent();
$ua->proxy("ftp", $proxy);

my $res = $ua->request( new HTTP::Request(GET => $url) );
$res->header(Accept => "text/html, */*;q=0.1");

print $res->content;

結論としてはNet::FTPよりもLWPを使うと良いみたい. そういえばBioPerlのDBアクセスもLWPだった気がするな.

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=27728&forum=10&3