Kihid proksitud Mechanize HTTPS-päringu taga
Vaadake, kuidas Mechanize, LWPi HTTPS-protokollimoodul ja SSL-taust koos suunavad, tunnelivad ja kontrollivad üht HTTPS-päringut.
Määrake marsruut Mechanize'i objektile enne toomist:
use WWW::Mechanize;
my $mech = WWW::Mechanize->new(timeout => 30);
$mech->proxy(
['http', 'https'],
'http://proxy.example.net:8080',
);Kasutage näites ettenähtud HTTP-kuulajat; lubatud avalike sihtmärkide päringute jaoks on kandidaadid HTTP-prokside loendis. Massiiv nimetab sihtkoha skeemid. Lõpp-punkt http:// pakub HTTPS-i jaoks tavalist CONNECT-marsruuti: HTTP proksini, tunnel sihtmärgini, seejärel sihtmärgi TLS. Kui juurutus kasutab selle asemel keskkonnaseadeid, on $mech->env_proxy alternatiiv; nende hilisem importimine võib muuta koodis määratud marsruuti.
Mechanize pärib LWP::UserAgenti võrgufunktsioonid selle asemel, et pakkuda eraldi HTTPS-proksi mootorit:
- Mechanize pakub linke, vorme ja praeguse lehe käitumist.
- LWP::UserAgent ja selle HTTP-transport valivad marsruudi ning korraldavad CONNECTi.
- LWP::Protocol::https pakub HTTPS-käsitlust ja tõstab ühenduse taset.
- Net::HTTPS koos oma SSL-taustaga pakub TLS-võimelise sokli, kaasaegsetes seadetes tavaliselt IO::Socket::SSL.
Paigaldatud SSL-taust ei vali ise proksit. Hoidke URL-is algne HTTPS-hostinimi: CONNECTi vastuvõtmine ei kontrolli selle saidi sertifikaati.
Vanade komponentide hooldamisel eristage neid piire. libwww-perl 6.06 ja eraldi levitatav LWP::Protocol::https 6.06 tõid sisse kooskõlastatud parandused tavalise HTTP CONNECTi jaoks. Üksnes UserAgenti versioon ei tuvasta HTTPS-moodulit. LWP::Protocol::https 6.15 lisas paranduse TLS-iga proksi lõpp-punktidele, mille https:// skeem lisab proksile TLS-i enne sihtmärgi TLS-i.
Vanemad Net::SSL/Crypt::SSLeay seaded võivad selle asemel kasutada selle tausta dokumenteeritud keskkonnamehhanismi HTTPS_PROXY. Ärge rakendage selle retsepti kaasaegsele IO::Socket::SSL teele, kus LWP omab marsruutimist.
Kasutage komponendi valimiseks esimest ebaõnnestunud etappi: puuduv HTTPS-käitleja puudutab protokollimoodulit; tagasi lükatud CONNECT puudutab marsruuti, volitusi või poliitikat; tunnelijärgne sertifikaadiviga puudutab sihtkoha identiteeti ja usaldust. Säilitage kontrollimine, kui vahetate komponenti, mida see tõend toetab.