LWP HTTPS代理超时



我正在尝试使用LWP::Simple通过HTTPS连接到一个站点。我已经在脚本内部和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);
}

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

最新更新