用于监控URL的Perl脚本使用代理凭据?

时间:2011-11-09 10:07:19

标签: perl-module mod-perl2

请帮助解决以下代码,这在我们的环境中无效。

use LWP;
use strict;
my $url = 'http://google.com';
my $username = 'user';
my $password = 'mypassword';
my $browser = LWP::UserAgent->new('Mozilla');
$browser->credentials("172.18.124.11:80","something.co.in",$username=>$password);
$browser->timeout(10);
my $response=$browser->get($url);
print $response->content;

输出:

无法连接到google.com:80(超时)

LWP :: Protocol :: http :: Socket:connect:在C:/Perl/lib/LWP/Protocol/http.p第51行超时。

操作系统:Windows XP

此致,Gaurav

1 个答案:

答案 0 :(得分:0)

你有172.18.124.11的HTTP代理吗?我假设LWP没有使用代理。您可能希望将env_proxy => 1new()电话一起使用。

此问题中还有一个mod-perl2标记。如果此代码在mod-perl2中运行,则http_proxy env变量可能对代码不可见。你可以查看这个例子。打印$browser->proxy('http')

或者只需使用$browser->proxy('http', '172.18.124.11');

设置代理

另外,我假设您没有use warnings,因为new()接受哈希,而不仅仅是字符串。 始终启用警告是个好主意。这样可以省去很多麻烦。