Nustatykite maršrutą Mechanize objekte prieš gaunant:

use WWW::Mechanize;

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

Naudokite pavyzdyje numatytą HTTP klausytuvą; leidžiamiems užklausų į viešuosius tikslus kandidatai yra HTTP proxy sąraše. Masyvas įvardija tikslo schemas. http:// galinis taškas suteikia įprastą CONNECT maršrutą HTTPS: HTTP į proxy, tunelis į tikslą, tada tikslo TLS. Jei diegimas vietoj to naudoja aplinkos nustatymus, $mech->env_proxy yra alternatyva; jų importavimas vėliau gali pakeisti kode priskirtą maršrutą.

Mechanize paveldi LWP::UserAgent tinklo funkcijas, o ne teikia atskirą HTTPS proxy variklį:

  • Mechanize teikia nuorodas, formas ir dabartinio puslapio elgseną.
  • LWP::UserAgent ir jo HTTP transportas parenka maršrutą ir organizuoja CONNECT.
  • LWP::Protocol::https teikia HTTPS apdorojimą ir atnaujina ryšį.
  • Net::HTTPS su savo SSL backend suteikia TLS pajėgų lizdą, šiuolaikinėse konfigūracijose paprastai IO::Socket::SSL.

Įdiegtas SSL backend pats neparenka proxy. Išsaugokite pradinį HTTPS hosto pavadinimą URL: CONNECT priėmimas netikrina tos svetainės sertifikato.

Prižiūrėdami senus komponentus, atskirkite šias ribas. libwww-perl 6.06 ir atskirai platinamas LWP::Protocol::https 6.06 įvedė suderintus įprasto HTTP CONNECT pataisymus. Vien UserAgent versija neatpažįsta HTTPS modulio. LWP::Protocol::https 6.15 pridėjo pataisymą TLS palaikomiems proxy galiniams taškams, kurių https:// schema prideda TLS proxy prieš tikslo TLS.

Senesnės Net::SSL/Crypt::SSLeay konfigūracijos vietoj to gali naudoti dokumentuotą to backend HTTPS_PROXY aplinkos mechanizmą. Netaikykite jo recepto šiuolaikiniam IO::Socket::SSL keliui, kuriame LWP valdo maršrutizavimą.

Naudokite pirmą nepavykusį etapą komponentui pasirinkti: trūkstamas HTTPS apdorotuvas susijęs su protokolo moduliu; atmestas CONNECT susijęs su maršrutu, kredencialais ar politika; sertifikato klaida po tunelio susijusi su tikslo tapatumu ir pasitikėjimu. Išsaugokite tikrinimą keisdami komponentą, kurį palaiko tie įrodymai.

Susiję straipsniai