Perl LWP :: UserAgent SSL / TLS不一致的证书错误消息问题

时间:2015-01-10 17:22:14

标签: perl ssl lwp-useragent

我似乎在Ubuntu和CentOS上的LWP :: UserAgent有一个奇怪的区别。

在Ubuntu(带有LWP :: UserAgent 6.05的14.04.1)上,如果我尝试使用自签名证书连接到域,则会收到包含500错误代码的错误消息:

“无法连接到my.test-domain.com:443(证书验证失败)”

那很好。我可以确切地看到什么是错的 - 证书问题。但是在CentOS 7上(也有LWP :: UserAgent 6.05),我得到了这个:

“无法连接到my.test-domain.com:443”。

信息量较少,因此给我一个问题!有谁知道如何在CentOS上启动LWP以获得“证书验证失败”消息?这是我测试的脚本:

#!/usr/bin/perl -w
use strict;
use LWP::UserAgent;
my $url='https://my.test-domain.com/';
my $browser= LWP::UserAgent->new();
my $tryHEAD=$browser->head($url);
my $responseCode=$tryHEAD->code();
if($tryHEAD->code()==200  ) {    print "OK\n"; }
else {    print $tryHEAD->code().' '.$tryHEAD->message()."\n"; }

1 个答案:

答案 0 :(得分:1)

它似乎与IO :: Socket :: IP的版本有关(它由IO :: Socket :: SSL自动使用)。没有IO :: Socket :: IP或版本0.31(可能稍后)它按预期工作,而版本0.25(Ubuntu 14.04)则没有。这可能与版本0.30,0.31中connect的处理更改有关。