Impostare un proxy HTTP per lo schema HTTP non configura necessariamente una richiesta HTTPS. In LWP, lo schema dell'URL richiesto determina quale mappatura proxy viene consultata.

Un endpoint condiviso esplicito può essere assegnato a entrambi gli schemi:

use LWP::UserAgent;

my $ua = LWP::UserAgent->new(timeout => 15);
$ua->proxy(['http', 'https'], 'http://proxy.example.net:8080');
my $response = $ua->get('https://example.com/');

Per le richieste pubbliche consentite, l'elenco di proxy HTTP offre candidati per l'URL condiviso del proxy LWP. La destinazione è HTTPS mentre l'URL del proxy è HTTP. È una normale disposizione CONNECT, non un motivo per rinominare lo schema del proxy in HTTPS.

Se l'applicazione deve leggere le variabili d'ambiente del proxy, attiva quel rilevamento tramite env_proxy. Una variabile presente nella shell è inutile se questo client non la importa mai. Verifica l'impostazione HTTPS pertinente e le regole di bypass, non solo il valore HTTP.

Mantieni deliberata la fonte di configurazione scelta. Importare le impostazioni d'ambiente dopo un'assegnazione esplicita può far differire il risultato dall'endpoint che il codice sembra selezionare.

La fiducia nei certificati e l'autenticazione del sito restano separate dal routing del proxy. Diagnostica una connessione diretta, un rifiuto del proxy e un errore TLS successivo nelle rispettive fasi invece di sostituire tutte le impostazioni contemporaneamente.

Articoli correlati