Stel die roete op die Mechanize-voorwerp voordat jy dit haal:

use WWW::Mechanize;

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

Gebruik die beoogde HTTP-luisteraar in die voorbeeld; vir toegelate versoeke na openbare teikens is kandidate in die HTTP-proxylys. Die skikking noem die bestemming-skemas. Die http://-eindpunt verskaf 'n gewone CONNECT-roete vir HTTPS: HTTP na die proxy, tonnel na die teiken, dan teiken-TLS. As die ontplooiing eerder omgewingsinstellings gebruik, is $mech->env_proxy die alternatief; om hulle daarna in te voer kan 'n roete wat in kode toegewys is, verander.

Mechanize erf LWP::UserAgent-netwerking eerder as om 'n aparte HTTPS-proxy-enjin te verskaf:

  • Mechanize verskaf skakels, vorms en gedrag vir die huidige bladsy.
  • LWP::UserAgent en sy HTTP-vervoer kies die roete en reël CONNECT.
  • LWP::Protocol::https verskaf HTTPS-hantering en gradeer die verbinding op.
  • Net::HTTPS met sy SSL-agterkant verskaf die TLS-bekwame socket, gewoonlik IO::Socket::SSL in moderne konfigurasies.

'n Geïnstalleerde SSL-agterkant kies nie self 'n proxy nie. Hou die oorspronklike HTTPS-gasheernaam in die URL: die aanvaarding van CONNECT verifieer nie daardie webwerf se sertifikaat nie.

Wanneer jy ou komponente onderhou, onderskei hierdie grense. libwww-perl 6.06 en die afsonderlik verspreide LWP::Protocol::https 6.06 het gekoördineerde regstellings vir normale HTTP CONNECT ingebring. Die UserAgent-weergawe alleen identifiseer nie die HTTPS-module nie. LWP::Protocol::https 6.15 het 'n regstelling bygevoeg vir TLS-geaktiveerde proxy-eindpunte, waarvan die https://-skema TLS by die proxy voeg voor die teiken-TLS.

Ouer Net::SSL/Crypt::SSLeay-konfigurasies kan eerder daardie agterkant se gedokumenteerde HTTPS_PROXY-omgewingsmeganisme gebruik. Moenie sy resep op die moderne IO::Socket::SSL-pad toepas nie, waar LWP die roetering besit.

Gebruik die eerste mislukte stadium om die komponent te kies: 'n ontbrekende HTTPS-hanteerder raak die protokolmodule; 'n verwerpte CONNECT raak roete, geloofsbriewe of beleid; 'n sertifikaatfout ná die tonnel raak die bestemming se identiteit en vertroue. Behoul verifikasie terwyl jy die komponent verander wat daardie bewyse ondersteun.

Verwante artikels