- - PR -
PerlモジュールNet:FTPについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-01-23 18:31
こんにちは。
Linux Fedora Core2 perl-5.8.5-9 Apache を使用しています。 現在、PerlでNet::FTPを用いてサーバにアクセスするプログラムを作っています。 そこで質問なのですが、プロキシを経由してNet::FTPを利用する方法を教えて頂けないでしょうか? プロキシ内のサーバにはアクセスできるようになったのですがプロキシの外のサーバにはまったくアクセスできません。 perldocを読んでfirewallの設定もしてみましたが設定方法がイマイチ分らず動きませんでした。 私が試したのは以下のプログラムです。 $ftp=Net::FTP->new($hostname,firewall=>$proxy:8080); $ftp->login($user,$pass); … … $ftp->quit; 分る方がいらっしゃいましたらお願いします。 |
|
投稿日時: 2006-01-25 05:33
perlはわからないのですが、多分プロキシ経由だとパッシブ・モードという動作モードで接続サーバに接続する必要があるのだと思います。
pasv () とかpasv_何がし()とかを使う必要があるのではないですかねえ? 使い方はわかりませんが。 |
|
投稿日時: 2006-01-25 18:43
あまり詳しくないのですが、プロキシサーバには何をお使いですか?
有名なFFFTPのサイトに載ってますが、 http://www2.biglobe.ne.jp/~sota/ffftp-qa/qa-23.html こういう問題が、Net::FTP にも該当するのかもです。 当方の環境(Squid/2.4.STABLE3)だと、Web Proxy となるためか、 Net::FTP は上手く行きませんでした。(自分の知識不足かもしれませんが。。。) LWP というのを使うと出来るかもしれません。以下はご参考です。 use strict; use LWP; print "This is libwww-perl-$LWP::VERSION\\n"; my $proxy = 'http://proxy.dummy.co.jp:8080/'; my $url = 'ftp://anonymous:email@ftp.vector.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; |
|
投稿日時: 2006-01-26 02:07
takeponさん、ご回答ありがとうございます。LWPを使用して無事実行できました。
本当にありがとうございました。 流しのエンジニアさんも、ご回答ありがとうございました。 |
1