如何修复Perl LWP中的SSL错误?
给出一条错误消息: 无法连接到www.themoviedb.org:443 SSL连接尝试失败错误:14077410:SSL 例程:SSL23\u获取\u服务器\u HELLO:sslv3警报握手失败 /Library/Perl/5.18/LWP/Protocol/http.pm第46行 我使用macOS Sierra如何修复Perl LWP中的SSL错误?,perl,ssl,lwp,Perl,Ssl,Lwp,给出一条错误消息: 无法连接到www.themoviedb.org:443 SSL连接尝试失败错误:14077410:SSL 例程:SSL23\u获取\u服务器\u HELLO:sslv3警报握手失败 /Library/Perl/5.18/LWP/Protocol/http.pm第46行 我使用macOS Sierra #!/usr/bin/perl use strict; use warnings; use LWP::UserAgent; my $ua = LWP::UserAgent-&
#!/usr/bin/perl
use strict;
use warnings;
use LWP::UserAgent;
my $ua = LWP::UserAgent->new(
agent => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/603.2.4 (KHTML, like Gecko) Version/10.1.1 Safari/603.2.4',
ssl_opts => { verify_hostname => 0 }
);
my $response = $ua->get('https://www.themoviedb.org');
如何修复它
Net::SSLeay::OPENSSL\u版本号()0x009081df
这是OpenSSL 0.9.8,至少有7年历史,不支持TLS 1.1和TLS 1.2,也不支持任何ECDHE密码。此外,此旧版本的OpenSSL不支持IO::Socket::SSL内部
查看下面的示例,您将看到:
此网站仅在支持SNI的浏览器中工作
因此,您需要升级您的OpenSSL版本。注意,之后还需要重新编译Net::SSLeay,并将其链接到更新的OpenSSL版本
LWP->VERSION 6.26
IO::Socket::SSL->VERSION 2.049
Net::SSLeay->VERSION 1.72
Net::SSLeay::OPENSSL_VERSION_NUMBER() 0x009081df
LWP::UserAgent->VERSION 6.26
LWP::Protocol::https->VERSION 6.04