Un URI può contenere username:password prima del suo host. Ciò non significa che ogni API .NET che accetta quell'URI copi le informazioni utente in un oggetto di autenticazione.

Quando costruisci WebProxy direttamente, rendi esplicita l'assegnazione delle credenziali:

var proxy = new WebProxy("http://203.0.113.10:8080")
{
    Credentials = new NetworkCredential(proxyUser, proxyPassword)
};

Le variabili di endpoint e account sono illustrative. Questo mantiene separati l'indirizzo di destinazione, l'indirizzo del proxy e l'account del proxy.

Se un formato di input fornisce un URL con credenziali, analizza deliberatamente le sue informazioni utente. Conserva una password contenente due punti separando solo al separatore delle credenziali e decodifica i componenti codificati nella fase appropriata. Evita di stampare l'URL originale mentre diagnostichi quel parser.

Un URL di proxy che funziona come impostazione d'ambiente può comportarsi diversamente quando viene passato a un altro costruttore. L'inizializzazione del proxy d'ambiente ha una propria logica di analisi; non è una promessa che ogni costruttore consumi gli stessi campi.

Infine, imposta l'oggetto proxy configurato sul gestore che esegue la richiesta. Credenziali corrette su un WebProxy inutilizzato non possono influenzare la connessione.

Articoli correlati