A WebProxy URI-konstruktora egy végpontot választ; nem tölti fel a Credentials-t az URI felhasználói adataival. Egy alkalmazás által ellenőrzött HTTP proxy URL esetén:

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);
}

A proxyUrl a megadott proxy URL, nem a webhely URL-je. Az Uri elemzi az authority részt, a UriBuilder pedig eltávolítja a felhasználói adatokat a WebProxy-ban tárolt végpontból.

Az első szó szerinti kettőspontnál ossza fel, mielőtt dekódolja az összetevőket. Így megmarad a felhasználónévben kódolt kettőspont, és a további jelszó-kettőspontok a jelszóban maradnak. Minden összetevőt egyszer dekódoljon; ne Base64-kódolja a jelszót a URL escaping helyett.

Végül rendelje a proxy-t a kívánt HTTP-kezelőhöz, mielőtt az elkezdi a kéréseket. Az objektum önmagában történő létrehozása nem változtatja meg egy másik kliens útválasztási szabályzatát.

Kapcsolódó cikkek