De lagen efter in proxyearre Mechanize-HTTPS-oanfraach
Sjoch hoe't Mechanize, LWP's HTTPS-protokolmodule en de SSL-backend gearwurkje om ien HTTPS-oanfraach te rûtsjen, te tunneljen en te ferifiearjen.
Set de rûte op it Mechanize-objekt foar it opheljen:
use WWW::Mechanize;
my $mech = WWW::Mechanize->new(timeout => 30);
$mech->proxy(
['http', 'https'],
'http://proxy.example.net:8080',
);
Brûk de bedoelde HTTP-listener yn it foarbyld; foar tastiene oanfragen nei iepenbiere doelen steane kandidaten yn 'e HTTP-proxylyst. De array neamt bestimmingsskema's. It http://-einpunt leveret in gewoane CONNECT-rûte foar HTTPS: HTTP nei de proxy, tunnel nei it doel, dan doel-TLS. As de útrulling ynstee omjouwingsynstellingen brûkt, is $mech->env_proxy it alternatyf; dy letter ymportearje kin in rûte feroarje dy't yn koade tawiisd is.
Mechanize erft LWP::UserAgent-netwurkjen ynstee fan in aparte HTTPS-proxymotor te bieden:
- Mechanize leveret keppelingen, formulieren en gedrach fan 'e hjoeddeiske side.
- LWP::UserAgent en syn HTTP-transport kieze de rûte en regelje CONNECT.
- LWP::Protocol::https leveret HTTPS-ôfhanneling en upgrade de ferbining.
- Net::HTTPS mei syn SSL-backend leveret de TLS-gaadlike socket, normaal IO::Socket::SSL yn moderne konfiguraasjes.
In ynstallearre SSL-backend kiest sels gjin proxy. Hâld de oarspronklike HTTPS-hostnamme yn 'e URL: it akseptearjen fan CONNECT ferifiearret it sertifikaat fan dy side net.
By it ûnderhâlden fan âlde komponinten, ûnderskied dizze grinzen. libwww-perl 6.06 en it apart ferspriede LWP::Protocol::https 6.06 yntrodusearren koördinearre fixes foar gewoane HTTP CONNECT. De UserAgent-ferzje allinnich identifisearret de HTTPS-module net. LWP::Protocol::https 6.15 foege in fix ta foar TLS-foarsjoene proxy-einpunten, waans https://-skema TLS oan 'e proxy taheakket foar doel-TLS.
Âldere Net::SSL/Crypt::SSLeay-konfiguraasjes kinne ynstee it dokumintearre HTTPS_PROXY-omjouwingsmeganisme fan dy backend brûke. Pas syn resept net ta op it moderne IO::Socket::SSL-paad, wêr't LWP it rûtsjen besit.
Brûk de earste mislearre stap om de komponint te kiezen: in ûntbrekkende HTTPS-handler giet oer de protokolmodule; in wegere CONNECT giet oer rûte, credentials of belied; in sertifikaatflater nei de tunnel giet oer identiteit en fertrouwen fan it doel. Behâld ferifikaasje wylst jo de komponint feroarje dy't dat bewiis stipet.