Setați ruta pe obiectul Mechanize înainte de preluare:

use WWW::Mechanize;

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

Folosiți ascultătorul HTTP dorit din exemplu; pentru cererile permise către ținte publice, candidații sunt în lista de proxy HTTP. Matricea numește schemele de destinație. Punctul final http:// oferă o rută CONNECT obișnuită pentru HTTPS: HTTP către proxy, tunel către țintă, apoi TLS-ul țintei. Dacă implementarea folosește în schimb setări de mediu, $mech->env_proxy este alternativa; importarea lor ulterioară poate modifica o rută atribuită în cod.

Mechanize moștenește rețeaua LWP::UserAgent în loc să ofere un motor de proxy HTTPS separat:

  • Mechanize oferă linkuri, formulare și comportamentul paginii curente.
  • LWP::UserAgent și transportul său HTTP selectează ruta și organizează CONNECT.
  • LWP::Protocol::https oferă gestionarea HTTPS și actualizează conexiunea.
  • Net::HTTPS cu backendul său SSL oferă socketul compatibil TLS, de obicei IO::Socket::SSL în configurațiile moderne.

Un backend SSL instalat nu selectează singur un proxy. Păstrați numele de gazdă HTTPS original în URL: acceptarea CONNECT nu verifică certificatul acelui site.

Când întrețineți componente vechi, distingeți aceste granițe. libwww-perl 6.06 și LWP::Protocol::https 6.06 distribuit separat au introdus corecturi coordonate pentru CONNECT HTTP normal. Doar versiunea UserAgent nu identifică modulul HTTPS. LWP::Protocol::https 6.15 a adăugat o corectură pentru puncte finale de proxy cu TLS, al căror schema https:// adaugă TLS proxy-ului înainte de TLS-ul țintei.

Configurațiile mai vechi Net::SSL/Crypt::SSLeay pot folosi în schimb mecanismul de mediu HTTPS_PROXY documentat al acelui backend. Nu aplicați rețeta sa căii moderne IO::Socket::SSL, unde LWP deține rutarea.

Folosiți prima etapă eșuată pentru a alege componenta: un handler HTTPS lipsă privește modulul de protocol; un CONNECT respins privește ruta, acreditările sau politica; o eroare de certificat după tunel privește identitatea și încrederea destinației. Păstrați verificarea în timp ce schimbați componenta pe care se bazează acea dovadă.

Articole similare