我正在使用Perl v5.14.2和libwww-perl v6.04-1在Debian上运行以下Perl代码段

my $ua = LWP::UserAgent->new;
my $req = HTTP::Request->new("GET", "https://google.com/");
my $rep = $ua->request($req);
print $rep->status_line;

这会立即返回“500无法连接到google.com:443”。我尝试使用LWP::Simple, Net::SSLeay, Crypt::SSLeay等,但没有成功。

奇怪的是,可以在另一个运行完全相同的Perl和LWP版本的Debian系统上执行相同的代码。

因此,我认为基础系统存在一些错误,但是其他应用程序(例如任何浏览器的cURL)都可以正常工作。

同样,openssl s_client -connect google.com:443在两个系统上都返回Verify return code: 20 (unable to get local issuer certificate)

有没有人遇到过这种现象并有解决方案?

最佳答案

代替这个:

$ua = LWP::UserAgent->new;

尝试使用此:
$ua = LWP::UserAgent->new(ssl_opts => { verify_hostname => 0 });

关于perl - LWP拒绝通过HTTPS连接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18250413/

10-08 22:25