【问题标题】:LWP::UserAgent Can't Post with TLS1.1LWP::UserAgent 无法使用 TLS1.1 发布
【发布时间】:2013-12-16 03:04:54
【问题描述】:

在 https 上遇到 500 个握手错误:443。我发送 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 吗?

【问题讨论】:

    标签: perl ssl lwp lwp-useragent


    【解决方案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;
    

    【讨论】:

      猜你喜欢
      • 2011-09-24
      • 1970-01-01
      • 2021-02-09
      • 1970-01-01
      • 1970-01-01
      • 2014-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多