Kerrokset välityspalvelimen kautta kulkevan Mechanize HTTPS -pyynnön takana
Katso, miten Mechanize, LWP:n HTTPS-protokollamoduuli ja SSL-taustaosa toimivat yhdessä yhden HTTPS-pyynnön reitittämiseksi, tunnelointia varten ja vahvistamiseksi.
Aseta reitti Mechanize-olioon ennen hakua:
use WWW::Mechanize;
my $mech = WWW::Mechanize->new(timeout => 30);
$mech->proxy(
['http', 'https'],
'http://proxy.example.net:8080',
);
Käytä esimerkissä aiottua HTTP-kuuntelijaa; sallituille julkisiin kohteisiin kohdistuville pyynnöille ehdokkaat ovat HTTP-välityspalvelinluettelossa. Taulukko nimeää kohdekaaviot. http://-päätepiste tarjoaa tavallisen CONNECT-reitin HTTPS:lle: HTTP välityspalvelimelle, tunneli kohteeseen ja sitten kohteen TLS. Jos käyttöönotto käyttää sen sijaan ympäristöasetuksia, $mech->env_proxy on vaihtoehto; niiden tuominen jälkeenpäin voi muuttaa koodissa määritettyä reittiä.
Mechanize perii LWP::UserAgent-verkkotoiminnot sen sijaan, että tarjoaisi erillisen HTTPS-välityspalvelinmoottorin:
- Mechanize tarjoaa linkit, lomakkeet ja nykyisen sivun toiminnan.
- LWP::UserAgent ja sen HTTP-siirto valitsevat reitin ja järjestävät CONNECTin.
- LWP::Protocol::https tarjoaa HTTPS-käsittelyn ja päivittää yhteyden.
- Net::HTTPS SSL-taustaosallaan tarjoaa TLS-kykyisen pistokkeen, nykyaikaisissa kokoonpanoissa yleensä IO::Socket::SSL:n.
Asennettu SSL-taustaosa ei itse valitse välityspalvelinta. Säilytä alkuperäinen HTTPS-isäntänimi URL-osoitteessa: CONNECTin hyväksyminen ei vahvista kyseisen sivuston varmennetta.
Vanhoja komponentteja ylläpitäessäsi erota nämä rajat. libwww-perl 6.06 ja erikseen jaeltu LWP::Protocol::https 6.06 toivat koordinoidut korjaukset tavalliseen HTTP CONNECTiin. Pelkkä UserAgent-versio ei tunnista HTTPS-moduulia. LWP::Protocol::https 6.15 lisäsi korjauksen TLS:llä varustettuihin välityspalvelimen päätepisteisiin, joiden https://-kaavio lisää TLS:n välityspalvelimeen ennen kohteen TLS:ää.
Vanhemmat Net::SSL/Crypt::SSLeay-kokoonpanot voivat sen sijaan käyttää kyseisen taustaosan dokumentoitua HTTPS_PROXY-ympäristömekanismia. Älä sovella sen reseptiä nykyaikaiseen IO::Socket::SSL-polkuun, jossa LWP omistaa reitityksen.
Valitse komponentti ensimmäisen epäonnistuneen vaiheen perusteella: puuttuva HTTPS-käsittelijä koskee protokollamoduulia; hylätty CONNECT koskee reittiä, tunnistetietoja tai käytäntöä; tunnelin jälkeinen varmennevirhe koskee kohteen identiteettiä ja luottamusta. Säilytä vahvistus, kun vaihdat komponenttia, jota kyseinen näyttö tukee.