Nastavte trasu na objektu Mechanize před načtením:

use WWW::Mechanize;

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

V příkladu použijte zamýšlený HTTP listener; pro povolené požadavky na veřejné cíle jsou kandidáti v seznamu HTTP proxy. Pole pojmenovává schémata cíle. Koncový bod http:// poskytuje běžnou trasu CONNECT pro HTTPS: HTTP k proxy, tunel k cíli a poté TLS cíle. Pokud nasazení místo toho používá nastavení prostředí, $mech->env_proxy je alternativou; jejich pozdější import může změnit trasu přiřazenou v kódu.

Mechanize dědí síťové funkce LWP::UserAgent, místo aby poskytoval samostatný engine proxy HTTPS:

  • Mechanize poskytuje odkazy, formuláře a chování aktuální stránky.
  • LWP::UserAgent a jeho HTTP transport volí trasu a zařizují CONNECT.
  • LWP::Protocol::https poskytuje zpracování HTTPS a povyšuje spojení.
  • Net::HTTPS se svým backendem SSL poskytuje socket schopný TLS, v moderních konfiguracích obvykle IO::Socket::SSL.

Nainstalovaný backend SSL sám o sobě proxy nevybírá. Ponechte původní název hostitele HTTPS v URL: přijetí CONNECT neověřuje certifikát daného webu.

Při údržbě starých komponent rozlišujte tyto hranice. libwww-perl 6.06 a samostatně distribuovaný LWP::Protocol::https 6.06 zavedly koordinované opravy pro běžný HTTP CONNECT. Samotná verze UserAgent modul HTTPS neidentifikuje. LWP::Protocol::https 6.15 přidal opravu pro koncové body proxy s povoleným TLS, jejichž schéma https:// přidává TLS k proxy před TLS cíle.

Starší konfigurace Net::SSL/Crypt::SSLeay mohou místo toho použít dokumentovaný mechanismus prostředí HTTPS_PROXY tohoto backendu. Neaplikujte jeho recept na moderní cestu IO::Socket::SSL, kde směrování vlastní LWP.

Použijte první neúspěšnou fázi k výběru komponenty: chybějící obsluha HTTPS se týká modulu protokolu; odmítnutý CONNECT se týká trasy, přihlašovacích údajů nebo zásady; chyba certifikátu po tunelu se týká identity cíle a důvěry. Zachovejte ověřování, dokud měníte komponentu, kterou tento důkaz podporuje.

Související články