Set ruta på Mechanize-objektet før du hentar:

use WWW::Mechanize;

my $mech = WWW::Mechanize->new(timeout => 30);
$mech->proxy(
    ['http', 'https'],
    'http://proxy.example.net:8080',
);

Bruk den tiltenkte HTTP-lyttaren i dømet; for tillatne førespurnader mot offentlege mål er kandidatane i HTTP-proxylista. Matrisa namngjev målskjema. http://-endepunktet gjev ei vanleg CONNECT-rute for HTTPS: HTTP til proxya, tunnel til målet, deretter TLS-en til målet. Viss utrullinga i staden brukar miljøinnstillingar, er $mech->env_proxy alternativet; å importere dei etterpå kan endre ei rute som er tildelt i koden.

Mechanize arvar LWP::UserAgent-nettverking i staden for å tilby ein eigen HTTPS-proxymotor:

  • Mechanize leverer lenkjer, skjema og åtferd for gjeldande side.
  • LWP::UserAgent og HTTP-transporten vel ruta og ordnar CONNECT.
  • LWP::Protocol::https leverer HTTPS-handtering og oppgraderer sambandet.
  • Net::HTTPS med SSL-backenden leverer ein TLS-kompatibel socket, vanlegvis IO::Socket::SSL i moderne konfigurasjonar.

Ein installert SSL-backend vel ikkje sjølv ein proxy. Hald det opphavlege HTTPS-vertsnamnet i URL-en: godkjenning av CONNECT verifiserer ikkje sertifikatet til nettstaden.

Når du vedlikeheld gamle komponentar, skil desse grensene. libwww-perl 6.06 og den separat distribuerte LWP::Protocol::https 6.06 innførte koordinerte rettingar for vanleg HTTP CONNECT. Berre UserAgent-versjonen identifiserer ikkje HTTPS-modulen. LWP::Protocol::https 6.15 la til ei retting for TLS-aktiverte proxy-endepunkt, der https://-skjemaet legg TLS til proxya før TLS-en til målet.

Eldre Net::SSL/Crypt::SSLeay-konfigurasjonar kan i staden bruke den dokumenterte HTTPS_PROXY-miljømekanismen til den backenden. Ikkje bruk oppskrifta på den moderne IO::Socket::SSL-bana, der LWP eig rutinga.

Bruk det første mislukka trinnet til å velje komponenten: ein manglande HTTPS-handterar gjeld protokollmodulen; ein avvist CONNECT gjeld rute, påloggingsopplysningar eller policy; ein sertifikatfeil etter tunnelen gjeld identiteten og tilliten til målet. Hald verifiseringa medan du byter komponenten som den dokumentasjonen støttar.

Relaterte artiklar