如何修复Perl LWP中的SSL错误?

如何修复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-&

给出一条错误消息:

无法连接到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->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