我正在尝试创建到内部 ssl
站点的客户端连接,该站点没有证书并且需要绕过代理。
我能够绕过代理,并且能够连接到站点并创建客户端连接,但是,我收到了这个丑陋的警告:
*******************************************************************
Using the default of SSL_verify_mode of SSL_VERIFY_NONE for client
is deprecated! Please set SSL_verify_mode to SSL_VERIFY_PEER
together with SSL_ca_file|SSL_ca_path for verification.
If you really don't want to verify the certificate and keep the
connection open to Man-In-The-Middle attacks please set
SSL_verify_mode explicitly to SSL_VERIFY_NONE in your application.
*******************************************************************
在 C:/strawberry/perl/site/lib/LWP/Protocol/http.pm 第 31 行
我的代码:
use RPC::XML::Client;
use XML::Simple;
use LWP::Protocol::https;
$ENV{NO_PROXY} = '10.*';
$ENV{'PERL_LWP_SSL_VERIFY_HOSTNAME'} = 0;
my $server = RPC::XML::Client->new("$vneUrl/api/index.ice",
ssl_opts => { SSL_verify_mode => 'SSL_VERIFY_NONE',
verify_hostname => 0,
SSL_use_cert => 0x00
},
);
该消息来自 IO::Socket::SSL,它指的是它导出的常量 SSL_VERIFY_NONE
而不是字符串 'SSL_VERIFY_NONE'
。
其次,ssl_opts
是 LWP::UserAgent 构造函数的一个参数,而不是 RPC::XML::Client 的。
尝试:
use IO::Socket::SSL qw( SSL_VERIFY_NONE );
RPC::XML::Client->new($uri,
useragent => [
ssl_opts => {
verify_hostname => 0,
SSL_verify_mode => SSL_VERIFY_NONE,
},
],
);
我是一名优秀的程序员,十分优秀!