Слаі за праксі-запытам Mechanize HTTPS
Паглядзіце, як Mechanize, модуль пратаколу HTTPS з LWP і бэкенд SSL разам маршрутызуюць, тунэлююць і правяраюць адзін запыт HTTPS.
Задайце маршрут у аб'екце Mechanize перад атрыманнем:
use WWW::Mechanize;
my $mech = WWW::Mechanize->new(timeout => 30);
$mech->proxy(
['http', 'https'],
'http://proxy.example.net:8080',
);Выкарыстоўвайце ў прыкладзе мэтавы слухач HTTP; для дазволеных запытаў да публічных мэт кандыдаты ёсць у спісе праксі HTTP. Масіў называе схемы прызначэння. Канечная кропка http:// дае звычайны маршрут CONNECT для HTTPS: HTTP да праксі, тунель да мэты, затым TLS мэты. Калі разгортванне выкарыстоўвае замест гэтага налады асяроддзя, $mech->env_proxy — альтэрнатыва; імпарт іх пазней можа змяніць маршрут, прызначаны ў кодзе.
Mechanize атрымлівае ў спадчыну сеткавыя магчымасці LWP::UserAgent, а не прапануе асобны рухавік праксі HTTPS:
- Mechanize забяспечвае спасылкі, формы і паводзіны бягучай старонкі.
- LWP::UserAgent і яго транспарт HTTP выбіраюць маршрут і ладзяць CONNECT.
- LWP::Protocol::https забяспечвае апрацоўку HTTPS і павышае злучэнне.
- Net::HTTPS з бэкендам SSL дае сокет з падтрымкай TLS, звычайна IO::Socket::SSL у сучасных канфігурацыях.
Усталяваны бэкенд SSL сам не выбірае праксі. Захоўвайце зыходнае імя хоста HTTPS у URL: прыняцце CONNECT не правярае сертыфікат гэтага сайта.
Падтрымліваючы старыя кампаненты, адрознівайце гэтыя межы. libwww-perl 6.06 і асобна распаўсюджаны LWP::Protocol::https 6.06 увялі ўзгодненыя выпраўленні для звычайнага HTTP CONNECT. Адна версія UserAgent не вызначае модуль HTTPS. LWP::Protocol::https 6.15 дадаў выпраўленне для канечных кропак праксі з TLS, чыя схема https:// дадае TLS да праксі перад TLS мэты.
Старыя канфігурацыі Net::SSL/Crypt::SSLeay могуць замест гэтага выкарыстоўваць дакументаваны механізм асяроддзя HTTPS_PROXY гэтага бэкенда. Не ўжывайце яго рэцэпт да сучаснага шляху IO::Socket::SSL, дзе LWP валодае маршрутызацыяй.
Выкарыстоўвайце першую няўдалую стадыю, каб выбраць кампанент: адсутны апрацоўшчык HTTPS датычыцца модуля пратаколу; адхілены CONNECT датычыцца маршруту, уліковых даных або палітыкі; памылка сертыфіката пасля тунеля датычыцца ідэнтычнасці прызначэння і даверу. Захоўвайце праверку, мяняючы кампанент, які падтрымліваецца гэтымі доказамі.