WebProxy-ի URI կոնստրուկտորը ընտրում է վերջնակետ; այն Credentials-ը չի լրացնում այդ URI-ի օգտվողի տվյալներով։ Հավելվածով ստուգված HTTP փրոքսի URL-ի համար՝

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-ը տրամադրված փրոքսի URL-ն է, ոչ թե կայքի URL-ը։ Uri-ն վերլուծում է authority-ն, իսկ UriBuilder-ը հեռացնում է օգտվողի տվյալները WebProxy-ում պահվող վերջնակետից։

Բաժանեք առաջին բառացի երկու կետի վրա՝ մինչ բաղադրիչները վերծանելը։ Դա պահպանում է օգտանվան մեջ կոդավորված երկու կետը և գաղտնաբառի լրացուցիչ երկու կետերը թողնում է գաղտնաբառում։ Վերծանեք յուրաքանչյուր բաղադրիչ մեկ անգամ; գաղտնաբառը Base64-ով մի կոդավորեք URL-ի էսքեյփինգի փոխարեն։

Վերջապես, նախքան այդ մշակիչը կսկսի հարցումները, proxy-ն նշանակեք նախատեսված HTTP մշակիչին։ Միայն օբյեկտը ստեղծելը չի փոխում մեկ այլ հաճախորդի երթուղավորման քաղաքականությունը։

Առնչվող հոդվածներ