Как заставить LWP использовать Crypt :: SSLeay для HTTPS-запросов?

Мой симптом заключается в том, что я не могу использовать прокси-сервер с запросами HTTPS с LWP. Кажется, это обычная проблема, и подсказки в Google и даже здесь предлагают обходной путь для установки переменной среды HTTPS_PROXY для использования Crypt :: SSLeay.

Моя конкретная проблема, похоже, заключается в том, что LWP :: Protocol :: https загружает IO :: Socket :: SSL, а не Crypt :: SSLeay. Как я могу заставить использовать Crypt :: SSLeay вместо этого?

Мой код:

#!/usr/bin/perl

use strict;
use warnings;
$ENV{HTTPS_PROXY} = 'http://10.0.3.1:3128';
use LWP::UserAgent;
my $ua = LWP::UserAgent->new();
my $req = HTTP::Request->new('GET','https://www.meritrustcu.org/');
my $res = $ua->request($req);
print "$_\n" for grep { $_ =~ /SSL/ } keys %INC;

И его вывод, показывающий, что Crypt :: SSLeay не используется:

Net/SSLeay.pm
IO/Socket/SSL.pm
/usr/lib/perl5/auto/Net/SSLeay/autosplit.ix
/usr/lib/perl5/auto/Net/SSLeay/set_proxy.al
/usr/lib/perl5/auto/Net/SSLeay/randomize.al

Просто добавление явного использования Crypt :: SSLeay на мой скрипт оказался неэффективным. Он загружает модуль, но продолжает загружать IO :: Socket :: SSL и использовать его для запросов HTTPS.

7
задан Community 23 May 2017 в 10:29
поделиться