Angi ruten på Mechanize-objektet før du henter:

use WWW::Mechanize;

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

Bruk den tiltenkte HTTP-lytteren i eksempelet; for tillatte forespørsler mot offentlige mål er kandidatene i HTTP-proxylisten. Matrisen navngir målskjemaene. http://-endepunktet gir en vanlig CONNECT-rute for HTTPS: HTTP til proxyen, tunnel til målet, deretter målets TLS. Hvis distribusjonen i stedet bruker miljøinnstillinger, er $mech->env_proxy alternativet; å importere dem etterpå kan endre en rute som er tildelt i koden.

Mechanize arver LWP::UserAgent-nettverking i stedet for å tilby en egen HTTPS-proxymotor:

  • Mechanize leverer lenker, skjemaer og oppførsel for gjeldende side.
  • LWP::UserAgent og HTTP-transporten velger ruten og ordner CONNECT.
  • LWP::Protocol::https leverer HTTPS-håndtering og oppgraderer forbindelsen.
  • Net::HTTPS med SSL-backenden leverer en TLS-kompatibel socket, vanligvis IO::Socket::SSL i moderne konfigurasjoner.

En installert SSL-backend velger ikke selv en proxy. Behold det opprinnelige HTTPS-vertsnavnet i URL-en: godkjenning av CONNECT verifiserer ikke sertifikatet til nettstedet.

Når du vedlikeholder gamle komponenter, skill disse grensene. libwww-perl 6.06 og den separat distribuerte LWP::Protocol::https 6.06 innførte koordinerte rettelser for vanlig HTTP CONNECT. Bare UserAgent-versjonen identifiserer ikke HTTPS-modulen. LWP::Protocol::https 6.15 la til en rettelse for TLS-aktiverte proxy-endepunkter, hvis https://-skjema legger TLS til proxyen før målets TLS.

Eldre Net::SSL/Crypt::SSLeay-konfigurasjoner kan i stedet bruke den dokumenterte HTTPS_PROXY-miljømekanismen til den backenden. Ikke bruk oppskriften på den moderne IO::Socket::SSL-banen, der LWP eier rutingen.

Bruk det første mislykkede trinnet til å velge komponenten: en manglende HTTPS-handler gjelder protokollmodulen; en avvist CONNECT gjelder rute, påloggingsinformasjon eller policy; en sertifikatfeil etter tunnelen gjelder målets identitet og tillit. Behold verifiseringen mens du bytter komponenten som den dokumentasjonen støtter.

Relaterte artikler