D'Schichten hannert enger proxifiéierter Mechanize-HTTPS-Ufro
Kuckt wéi Mechanize, dem LWP säin HTTPS-Protokollmodul an de SSL-Backend zesummeschaffen, fir eng HTTPS-Ufro ze routeren, ze tunnelen an ze verifizéieren.
Setzt d'Route um Mechanize-Objekt, ier Dir ofruft:
use WWW::Mechanize;
my $mech = WWW::Mechanize->new(timeout => 30);
$mech->proxy(
['http', 'https'],
'http://proxy.example.net:8080',
);
Benotzt den agebaute HTTP-Listener am Beispill; fir erlaabte Ufroen un ëffentlech Ziler stinn d'Kandidaten an der HTTP-Proxy-Lëscht. D'Array nennt d'Zil-Schemen. Den http://-Endpunkt bitt eng gewéinlech CONNECT-Route fir HTTPS: HTTP zum Proxy, Tunnel zum Zil, duerno Zil-TLS. Wann d'Deployement amplaz Ëmfeld-Astellungen benotzt, ass $mech->env_proxy d'Alternativ; se duerno importéiere kann eng Route änneren, déi am Code zougewisen ass.
Mechanize ierft d'LWP::UserAgent-Netzwierkaarbecht amplaz en eegene HTTPS-Proxy-Motor ze bidden:
- Mechanize bitt Linken, Formulairen an d'Verhalen vun der aktueller Säit.
- LWP::UserAgent an säin HTTP-Transport wielen d'Route aus a preparéieren CONNECT.
- LWP::Protocol::https bitt HTTPS-Behandlung an upgradet d'Verbindung.
- Net::HTTPS mat sengem SSL-Backend bitt den TLS-fäege Socket, normalerweis IO::Socket::SSL a moderne Konfiguratiounen.
En installéierte SSL-Backend wielt net selwer e Proxy. Halt den ursprénglechen HTTPS-Hostnumm an der URL: d'Unerkennung vum CONNECT verifizéiert net d'Zertifikat vun där Säit.
Wann Dir al Komponenten ënnerhält, ënnerscheet dës Grenzen. libwww-perl 6.06 an de separat verdeelte LWP::Protocol::https 6.06 hunn koordinéiert Korrekture fir normalen HTTP CONNECT agefouert. Just d'UserAgent-Versioun identifizéiert den HTTPS-Modul net. LWP::Protocol::https 6.15 huet eng Korrektur fir TLS-aktivéiert Proxy-Endpunkten derbäigefüügt, deenen hire https://-Schema TLS zum Proxy bäisetzt virum Zil-TLS.
Méi al Net::SSL/Crypt::SSLeay-Konfiguratiounen kënnen amplaz de dokumentéierten HTTPS_PROXY-Ëmfeldmechanismus vun deem Backend benotzen. Setzt seng Rezept net op de moderne IO::Socket::SSL-Wee un, wou LWP d'Routing huet.
Benotzt déi éischt feelgeschloen Etapp fir de Komponent auszewielen: en feelenden HTTPS-Handler betrëfft de Protokollmodul; en ofgeleenten CONNECT betrëfft d'Route, d'Authentifikatiounsdaten oder d'Politik; e Zertifikatsfehler nom Tunnel betrëfft d'Identitéit an d'Vertrauen vum Zil. Halt d'Verifizéierung, während Dir de Komponent ännert, dee vun dësem Beweis gestäipt gëtt.