Slāņi aiz Mechanize HTTPS pieprasījuma, kas iet caur starpniekserveri
Skatiet, kā Mechanize, LWP HTTPS protokola modulis un SSL backend sadarbojas, lai maršrutētu, tunelētu un pārbaudītu vienu HTTPS pieprasījumu.
Iestatiet maršrutu Mechanize objektā pirms iegūšanas:
use WWW::Mechanize;
my $mech = WWW::Mechanize->new(timeout => 30);
$mech->proxy(
['http', 'https'],
'http://proxy.example.net:8080',
);
Izmantojiet piemērā paredzēto HTTP klausītāju; atļautajiem pieprasījumiem uz publiskiem mērķiem kandidāti ir HTTP starpniekserveru sarakstā. Masīvs nosauc mērķa shēmas. http:// galapunkts nodrošina parastu CONNECT maršrutu HTTPS: HTTP uz starpniekserveri, tunelis uz mērķi, pēc tam mērķa TLS. Ja izvietošana tā vietā izmanto vides iestatījumus, $mech->env_proxy ir alternatīva; to importēšana vēlāk var mainīt kodā piešķirto maršrutu.
Mechanize manto LWP::UserAgent tīklošanu, nevis nodrošina atsevišķu HTTPS starpniekservera dzinēju:
- Mechanize nodrošina saites, veidlapas un pašreizējās lapas uzvedību.
- LWP::UserAgent un tā HTTP transports izvēlas maršrutu un sagatavo CONNECT.
- LWP::Protocol::https nodrošina HTTPS apstrādi un jaunina savienojumu.
- Net::HTTPS ar savu SSL backend nodrošina TLS spējīgu ligzdu, mūsdienu konfigurācijās parasti IO::Socket::SSL.
Instalēts SSL backend pats neizvēlas starpniekserveri. Saglabājiet sākotnējo HTTPS resursdatora nosaukumu URL: CONNECT pieņemšana nepārbauda šīs vietnes sertifikātu.
Apkopjot vecas komponentes, šķiriet šīs robežas. libwww-perl 6.06 un atsevišķi izplatītais LWP::Protocol::https 6.06 ieviesa saskaņotus parastā HTTP CONNECT labojumus. Tikai UserAgent versija neidentificē HTTPS moduli. LWP::Protocol::https 6.15 pievienoja labojumu TLS atbalstītiem starpniekservera galapunktiem, kuru https:// shēma pievieno TLS starpniekserverim pirms mērķa TLS.
Vecākas Net::SSL/Crypt::SSLeay konfigurācijas tā vietā var izmantot šī backend dokumentēto HTTPS_PROXY vides mehānismu. Nepiemērojiet tā recepti mūsdienu IO::Socket::SSL ceļam, kur LWP pārvalda maršrutēšanu.
Izmantojiet pirmo neizdevušos posmu komponentes izvēlei: trūkstošs HTTPS apdarinātājs attiecas uz protokola moduli; noraidīts CONNECT attiecas uz maršrutu, akreditācijas datiem vai politiku; sertifikāta kļūda pēc tuneļa attiecas uz mērķa identitāti un uzticēšanos. Saglabājiet pārbaudi, mainot komponenti, ko atbalsta šie pierādījumi.