请帮助解决以下代码,这在我们的环境中无效。
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
答案 0 :(得分:0)
你有172.18.124.11的HTTP代理吗?我假设LWP没有使用代理。您可能希望将env_proxy => 1
与new()
电话一起使用。
此问题中还有一个mod-perl2标记。如果此代码在mod-perl2中运行,则http_proxy
env变量可能对代码不可见。你可以查看这个例子。打印$browser->proxy('http')
。
或者只需使用$browser->proxy('http', '172.18.124.11')
;
另外,我假设您没有use warnings
,因为new()
接受哈希,而不仅仅是字符串。 始终启用警告是个好主意。这样可以省去很多麻烦。