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ë.

Artikuj të ngjashëm