Eine URI kann username:password vor ihrem Host enthalten. Das bedeutet nicht, dass jede .NET-API, die diese URI akzeptiert, die Benutzerinformationen in ein Authentifizierungsobjekt kopiert.

Wenn Sie WebProxy direkt erstellen, machen Sie die Zuweisung der Anmeldeinformationen explizit:

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

Die Variablen für Endpunkt und Konto sind illustrativ. So bleiben Zieladresse, Proxyadresse und Proxykonto getrennt.

Wenn ein Eingabeformat eine URL mit Anmeldeinformationen liefert, analysieren Sie deren Benutzerinformationen bewusst. Bewahren Sie ein Passwort mit Doppelpunkten, indem Sie nur am Trennzeichen für Anmeldeinformationen trennen, und decodieren Sie codierte Komponenten zum richtigen Zeitpunkt. Vermeiden Sie es, die ursprüngliche URL auszugeben, während Sie diesen Parser diagnostizieren.

Eine Proxy-URL, die als Umgebungseinstellung funktioniert, kann sich anders verhalten, wenn sie an einen anderen Konstruktor übergeben wird. Die Initialisierung des Umgebungsproxys hat ihre eigene Analyselogik; sie ist kein Versprechen, dass jeder Konstruktor dieselben Felder nutzt.

Setzen Sie schließlich das konfigurierte Proxyobjekt auf den Handler, der die Anforderung ausführt. Korrekte Anmeldeinformationen an einem ungenutzten WebProxy können die Verbindung nicht beeinflussen.

Ähnliche Artikel