Shtresat pas një kërkese HTTPS Mechanize përmes proxy-t
Shihni se si Mechanize, moduli i protokollit HTTPS i LWP dhe backend-i SSL bashkëpunojnë për të rrugëtuar, tuneluar dhe verifikuar një kërkesë HTTPS.
Vendosni rrugën në objektin Mechanize përpara marrjes:
use WWW::Mechanize;
my $mech = WWW::Mechanize->new(timeout => 30);
$mech->proxy(
['http', 'https'],
'http://proxy.example.net:8080',
);
Përdorni dëgjuesin HTTP të synuar në shembull; për kërkesat e lejuara drejt objektivave publikë, kandidatët gjenden në listën e proxy-ve HTTP. Vargu emërton skemat e destinacionit. Pika fundore http:// ofron një rrugë CONNECT të zakonshme për HTTPS: HTTP drejt proxy-t, tunel drejt objektivit, pastaj TLS i objektivit. Nëse vendosja përdor në vend të kësaj cilësime mjedisi, $mech->env_proxy është alternativa; importimi i tyre më vonë mund të ndryshojë një rrugë të caktuar në kod.
Mechanize trashëgon rrjetëzimin e LWP::UserAgent në vend që të ofrojë një motor të veçantë proxy HTTPS:
- Mechanize ofron lidhje, formularë dhe sjelljen e faqes aktuale.
- LWP::UserAgent dhe transporti i tij HTTP zgjedhin rrugën dhe organizojnë CONNECT.
- LWP::Protocol::https ofron trajtimin e HTTPS dhe përmirëson lidhjen.
- Net::HTTPS me backend-in e tij SSL ofron socket-in të aftë për TLS, zakonisht IO::Socket::SSL në konfigurime moderne.
Një backend SSL i instaluar nuk zgjedh vetë një proxy. Mbani emrin origjinal të hostit HTTPS në URL: pranimi i CONNECT nuk verifikon certifikatën e atij sajti.
Kur mirëmbani komponentë të vjetër, dalloni këto kufij. libwww-perl 6.06 dhe LWP::Protocol::https 6.06 i shpërndarë veçmas prezantuan rregullime të koordinuara për CONNECT normal HTTP. Vetëm versioni i UserAgent nuk identifikon modulin HTTPS. LWP::Protocol::https 6.15 shtoi një rregullim për pikat fundore të proxy-t me TLS, skema https:// e të cilave shton TLS në proxy përpara TLS-it të objektivit.
Konfigurimet më të vjetra Net::SSL/Crypt::SSLeay mund të përdorin në vend të kësaj mekanizmin e dokumentuar të mjedisit HTTPS_PROXY të atij backend-i. Mos e aplikoni recetën e tij në rrugën moderne IO::Socket::SSL, ku LWP zotëron rrugëtimin.
Përdorni fazën e parë të dështuar për të zgjedhur komponentin: një trajtues HTTPS që mungon ka të bëjë me modulin e protokollit; një CONNECT i refuzuar ka të bëjë me rrugën, kredencialet ose politikën; një gabim certifikate pas tunelit ka të bëjë me identitetin dhe besimin e destinacionit. Mbani verifikimin ndërsa ndryshoni komponentin që mbështetet nga ai provë.