我正在使用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/