0

请帮助以下代码,这在我们的环境中不起作用。

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.pm 第 51 行超时。

操作系统:Windows XP

问候, 高拉夫

4

1 回答 1

0

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

您在这个问题中也有一个 mod-perl2 标签。如果此代码在 mod-perl2 中运行,则http_proxyenv 变量可能对代码不可见。你可以检查这个,例如。通过印刷$browser->proxy('http')

$browser->proxy('http', '172.18.124.11')或者只是用;设置代理

另外,我假设你没有use warningson,因为new()它需要一个哈希,而不仅仅是一个字符串。始终启用警告是个好主意。这将为您省去很多麻烦。

于 2011-11-12T17:39:24.890 回答