LWP HTTPS代理超时

时间:2014-04-23 19:35:45

标签: perl https proxy lwp

我正在尝试通过HTTPS连接到使用LWP :: Simple的网站。我已经在脚本和shell中设置了环境变量。我继续获得500连接超时。我可以很好地连接到HTTP站点。

代理正在通过。我可以使用curl通过代理连接到HTTPS站点,没有任何问题。

有什么建议吗?

#!/usr/bin/perl

use warnings; 
use Net::SSL;
use LWP::UserAgent;
use LWP::Debug qw(+);
use Data::Dumper;

$ENV{PERL_NET_HTTPS_SSL_SOCKET_CLASS} = "Net::SSL";
$ENV{HTTPS_DEBUG} = 1;
$ENV{HTTPS_VERSION} = 2;

my $ua = LWP::UserAgent->new (verify_hostname => 0);
$ua->ssl_opts(verify_hostname => 0,
                SSL_verify_mode => 0x00);       
$ua->proxy('https' => 'http://x.x.x.x:3128');

print $ua->proxy('https');
print Dumper($ua);
my $response = $ua->get('https://qualys.com/');
print Dumper ($response);
if ($response->is_success) {
     print $response->decoded_content;  # or whatever
     exit(0);
}
else {
 print "\nFail:\n";
     print $response->status_line ."\n";
     exit(1);
}

1 个答案:

答案 0 :(得分:1)

LWP的HTTPS代理支持是(或至少在几天前)被破坏,至少如果您使用IO::Socket::SSL,这是LWP版本> = 6.0的默认值,因为它提供更好的安全性现在使用LWP 6.0.6和LWP::Protocol::https 6.0.6几天前发布的应该会好得多。如果您无法升级,可以尝试使用Net::SSLGlue::LWP修补LWP以获得更好的https代理支持。

相关问题