Pred načítaním nastavte trasu na objekte Mechanize:

use WWW::Mechanize;

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

V príklade použite zamýšľaný HTTP poslucháč; pre povolené požiadavky na verejné ciele sú kandidáti v zozname HTTP proxy. Pole pomenúva schémy cieľa. Koncový bod http:// poskytuje bežnú trasu CONNECT pre HTTPS: HTTP k proxy, tunel k cieľu, potom TLS cieľa. Ak nasadenie namiesto toho používa nastavenia prostredia, alternatívou je $mech->env_proxy; ich neskorší import môže zmeniť trasu priradenú v kóde.

Mechanize dedí sieťovanie LWP::UserAgent namiesto poskytovania samostatného HTTPS proxy mechanizmu:

  • Mechanize poskytuje odkazy, formuláre a správanie aktuálnej stránky.
  • LWP::UserAgent a jeho HTTP transport vyberajú trasu a organizujú CONNECT.
  • LWP::Protocol::https poskytuje spracovanie HTTPS a aktualizuje pripojenie.
  • Net::HTTPS so svojím SSL backendom poskytuje socket schopný TLS, v moderných konfiguráciách zvyčajne IO::Socket::SSL.

Nainštalovaný SSL backend sám nevyberá proxy. Zachovajte pôvodný názov hostiteľa HTTPS v URL: prijatie CONNECT neoveruje certifikát tejto stránky.

Pri údržbe starých komponentov rozlišujte tieto hranice. libwww-perl 6.06 a samostatne distribuovaný LWP::Protocol::https 6.06 zaviedli koordinované opravy pre bežný HTTP CONNECT. Samotná verzia UserAgent neidentifikuje modul HTTPS. LWP::Protocol::https 6.15 pridal opravu pre proxy koncové body s TLS, ktorých schéma https:// pridáva TLS proxy pred TLS cieľa.

Staršie konfigurácie Net::SSL/Crypt::SSLeay môžu namiesto toho použiť dokumentovaný environmentálny mechanizmus HTTPS_PROXY tohto backendu. Neaplikujte jeho recept na modernú cestu IO::Socket::SSL, kde routing vlastní LWP.

Na výber komponentu použite prvú neúspešnú fázu: chýbajúci obslužný program HTTPS sa týka protokolového modulu; odmietnutý CONNECT sa týka trasy, prihlasovacích údajov alebo politiky; chyba certifikátu po tuneli sa týka identity a dôvery cieľa. Zachovajte overovanie pri zmene komponentu, ktorý tieto dôkazy podporujú.

Súvisiace články