Aseta reitti Mechanize-olioon ennen hakua:

use WWW::Mechanize;

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

Käytä esimerkissä aiottua HTTP-kuuntelijaa; sallituille julkisiin kohteisiin kohdistuville pyynnöille ehdokkaat ovat HTTP-välityspalvelinluettelossa. Taulukko nimeää kohdekaaviot. http://-päätepiste tarjoaa tavallisen CONNECT-reitin HTTPS:lle: HTTP välityspalvelimelle, tunneli kohteeseen ja sitten kohteen TLS. Jos käyttöönotto käyttää sen sijaan ympäristöasetuksia, $mech->env_proxy on vaihtoehto; niiden tuominen jälkeenpäin voi muuttaa koodissa määritettyä reittiä.

Mechanize perii LWP::UserAgent-verkkotoiminnot sen sijaan, että tarjoaisi erillisen HTTPS-välityspalvelinmoottorin:

  • Mechanize tarjoaa linkit, lomakkeet ja nykyisen sivun toiminnan.
  • LWP::UserAgent ja sen HTTP-siirto valitsevat reitin ja järjestävät CONNECTin.
  • LWP::Protocol::https tarjoaa HTTPS-käsittelyn ja päivittää yhteyden.
  • Net::HTTPS SSL-taustaosallaan tarjoaa TLS-kykyisen pistokkeen, nykyaikaisissa kokoonpanoissa yleensä IO::Socket::SSL:n.

Asennettu SSL-taustaosa ei itse valitse välityspalvelinta. Säilytä alkuperäinen HTTPS-isäntänimi URL-osoitteessa: CONNECTin hyväksyminen ei vahvista kyseisen sivuston varmennetta.

Vanhoja komponentteja ylläpitäessäsi erota nämä rajat. libwww-perl 6.06 ja erikseen jaeltu LWP::Protocol::https 6.06 toivat koordinoidut korjaukset tavalliseen HTTP CONNECTiin. Pelkkä UserAgent-versio ei tunnista HTTPS-moduulia. LWP::Protocol::https 6.15 lisäsi korjauksen TLS:llä varustettuihin välityspalvelimen päätepisteisiin, joiden https://-kaavio lisää TLS:n välityspalvelimeen ennen kohteen TLS:ää.

Vanhemmat Net::SSL/Crypt::SSLeay-kokoonpanot voivat sen sijaan käyttää kyseisen taustaosan dokumentoitua HTTPS_PROXY-ympäristömekanismia. Älä sovella sen reseptiä nykyaikaiseen IO::Socket::SSL-polkuun, jossa LWP omistaa reitityksen.

Valitse komponentti ensimmäisen epäonnistuneen vaiheen perusteella: puuttuva HTTPS-käsittelijä koskee protokollamoduulia; hylätty CONNECT koskee reittiä, tunnistetietoja tai käytäntöä; tunnelin jälkeinen varmennevirhe koskee kohteen identiteettiä ja luottamusta. Säilytä vahvistus, kun vaihdat komponenttia, jota kyseinen näyttö tukee.

Aiheeseen liittyvät artikkelit