プロが教える店舗&オフィスのセキュリティ対策術

プロキシを経由して他サイトのHTMLファイルを取得しようとしているのですがうまくいきません。
私がためしたのはLWP::UserAgentを用いた方法で

my $uap = LWP::UserAgent->new;
$ENV{HTTP_PROXY} = 'http://proxy:8080';
$ENV{FTP_PROXY} = 'http://proxy:8080/';
$ENV{HTTP_PROXY_USERNAME} = 'name';
$ENV{HTTP_PROXY_PASSWORD} = 'pass';
$uap->env_proxy();

という感じです。
プロキシ内のページからは普通にHTMLファイルが取得できますがプロキシ外はまったく取得できません。
良い方法があったら教えて下さい。お願いします。

A 回答 (2件)

env_proxy()メソッドは、シェルの環境変数からプロキシ設定を読み込むのであって、%ENVから読み込むわけではないようです。


あらかじめシェルでプロキシの環境変数を設定してからperlを起動させる必要があります。

環境変数経由ではなく、直接uaにproxyを設定させることもできます。

my $uap = LWP::UserAgent->new;
$uap->proxy('http','http://some.proxy:8080');
    • good
    • 0

大文字じゃなくて小文字なのでは?



perldoc LWP::UserAgent でマニュアル見ると $ua->env_proxy は *_proxy から値を読むと書いてありますよ。

つまり、 $ENV{'http_proxy'} = 'http://proxy:8080/'; のように書かないと駄目だと思いますよ。

参考URL:http://homepage3.nifty.com/hippo2000/perltips/LW …
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。ご指摘の通り大文字を小文字に変えてやってみましたが特に大文字の時と違いはありませんでした。
参考URLを読まさせていただきます。
他に何か方法があれば教えて下さいお願いします。

お礼日時:2005/12/22 04:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!