Den URI-Konstruktor vu WebProxy wielt een Endpunkt; en fëllt Credentials net aus de Benotzerinformatioune vun där URI. Fir eng HTTP-Proxy-URL, déi vun der Applikatioun validéiert gëtt:

var uri = new Uri(proxyUrl);
var endpoint = new UriBuilder(uri)
{
    UserName = "",
    Password = ""
};

var proxy = new System.Net.WebProxy(endpoint.Uri);

if (uri.UserInfo.Length > 0)
{
    var parts = uri.UserInfo.Split(new[] { ':' }, 2);
    var username = Uri.UnescapeDataString(parts[0]);
    var password = parts.Length == 2
        ? Uri.UnescapeDataString(parts[1])
        : "";

    proxy.Credentials =
        new System.Net.NetworkCredential(username, password);
}

proxyUrl ass déi uginn Proxy-URL, net d'URL vum Site. Uri parst hir authority, während UriBuilder d'Benotzerinformatioun aus dem Endpunkt eraushëlt, deen am WebProxy gespäichert ass.

Deelt beim éischte wörtlechen Doppelpunkt, ier d'Komponenten decodéiert ginn. Dat erhält en codéierten Doppelpunkt am Benotzernumm a behält zousätzlech Passwuert-Doppelpunkten am Passwuert. Decodéiert all Komponent eemol; encodéiert d'Passwuert net a Base64 als Ersatz fir URL-Escaping.

Schlussendlech weist proxy dem virgesinn HTTP-Handler zou, ier deen Handler Ufroen ufänkt. Nëmmen d'Objekt ze bauen ännert d'Routingpolitik vun engem aneren Client net.

Ähnlech Artikelen