Slojevi iza proxyjem usmjerenog Mechanize HTTPS zahtjeva
Pogledajte kako Mechanize, LWP-ov HTTPS protokolni modul i SSL backend sarađuju na usmjeravanju, tuneliranju i provjeri jednog HTTPS zahtjeva.
Postavite rutu na objektu Mechanize prije dohvaćanja:
use WWW::Mechanize;
my $mech = WWW::Mechanize->new(timeout => 30);
$mech->proxy(
['http', 'https'],
'http://proxy.example.net:8080',
);
Koristite predviđeni HTTP slušalac u primjeru; za dozvoljene zahtjeve prema javnim ciljevima kandidati su na listi HTTP proxyja. Polje navodi sheme odredišta. Završna točka http:// pruža običnu CONNECT rutu za HTTPS: HTTP do proxyja, tunel do odredišta, zatim TLS odredišta. Ako implementacija umjesto toga koristi postavke okruženja, $mech->env_proxy je alternativa; njihov kasniji uvoz može promijeniti rutu dodijeljenu u kodu.
Mechanize nasljeđuje mrežne funkcije LWP::UserAgent umjesto da pruža zaseban HTTPS proxy mehanizam:
- Mechanize pruža veze, obrasce i ponašanje trenutne stranice.
- LWP::UserAgent i njegov HTTP prijenos biraju rutu i organiziraju CONNECT.
- LWP::Protocol::https pruža HTTPS rukovanje i nadograđuje vezu.
- Net::HTTPS sa svojim SSL backendom pruža utičnicu sposobnu za TLS, obično IO::Socket::SSL u modernim konfiguracijama.
Instalirani SSL backend sam ne bira proxy. Zadržite izvorno HTTPS ime hosta u URL-u: prihvaćanje CONNECT ne provjerava certifikat tog sajta.
Pri održavanju starih komponenti razlikujte ove granice. libwww-perl 6.06 i zasebno distribuirani LWP::Protocol::https 6.06 uveli su usklađene ispravke za uobičajeni HTTP CONNECT. Sama verzija UserAgenta ne identificira HTTPS modul. LWP::Protocol::https 6.15 dodao je ispravku za proxy završne točke s TLS-om, čija shema https:// dodaje TLS proxyju prije TLS-a odredišta.
Starije Net::SSL/Crypt::SSLeay konfiguracije mogu umjesto toga koristiti dokumentirani HTTPS_PROXY mehanizam okruženja tog backenda. Ne primjenjujte njegov recept na modernu putanju IO::Socket::SSL, gdje LWP upravlja usmjeravanjem.
Upotrijebite prvi neuspjeli stupanj za odabir komponente: nedostajući HTTPS rukovalac tiče se protokolarnog modula; odbijeni CONNECT tiče se rute, vjerodajnica ili pravila; greška certifikata nakon tunela tiče se identiteta i povjerenja odredišta. Zadržite provjeru dok mijenjate komponentu koju taj dokaz podupire.