微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

perl – LWP :: UserAgent无法发布TLS1.1

获得500个握手错误:443超过https.我发送 XML的主机服务不支持TLS 1.2,它们支持1.0和1.1.目前在CentOS 6上使用LWP 6.03.使用下面的代码,他们声称我仍在使用TLS1.2发送

use LWP::UserAgent;
$ua = LWP::UserAgent->new(ssl_opts => { verify_hostname => 0,SSL_version => 'SSLv23:!TLSv12' });
$req = HTTP::Request->new(GET => 'https://secure-host-server');

$res = $ua->request($req);
if ($res->is_success) {
  print $res->content;
  } else {
  print "Error: " . $res->status_line . "\n";
  }

是否可以在发送给主机时打印TLS版本?我能做些什么来验证我使用的是TLS1.1?

解决方法

通过LWP :: UserAgent设置SSL_version不起作用.我尝试了无数方法试图让我的代码通过TLSv1发送XML而没有运气,下面的代码就可以了.

use Net::SSLglue::LWP; 
use IO::Socket::SSL;

my $context = new IO::Socket::SSL::SSL_Context(
  SSL_version => 'tlsv1',SSL_verify_mode => Net::SSLeay::VERIFY_NONE(),);
IO::Socket::SSL::set_default_context($context);

use LWP::UserAgent;
use HTTP::Request::Common;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐