Явні облікові дані для .NET WebProxy
Призначайте облікові дані явно під час створення .NET WebProxy, а не припускайте, що URI з обліковими даними заповнить його обліковий запис.
URI може містити username:password перед своїм вузлом. Це не означає, що кожен .NET API, який приймає такий URI, копіює відомості про користувача в об'єкт автентифікації.
Створюючи WebProxy безпосередньо, зробіть призначення облікових даних явним:
var proxy = new WebProxy("http://203.0.113.10:8080")
{
Credentials = new NetworkCredential(proxyUser, proxyPassword)
};Змінні кінцевої точки й облікового запису наведені для прикладу. Так адреса призначення, адреса проксі-сервера й обліковий запис проксі-сервера залишаються окремими.
Якщо вхідний формат надає URL з обліковими даними, розбирайте відомості про користувача свідомо. Зберігайте пароль із двокрапками, розділяючи лише за роздільником облікових даних, і декодуйте закодовані компоненти на потрібному етапі. Не друкуйте вихідний URL під час діагностики цього аналізатора.
URL проксі-сервера, що працює як параметр середовища, може поводитися інакше, коли його передають іншому конструктору. Ініціалізація проксі-сервера із середовища має власну логіку розбору; це не обіцянка, що кожен конструктор використовує ті самі поля.
Насамкінець установіть налаштований об'єкт проксі-сервера в обробник, який виконує запит. Правильні облікові дані на невикористаному WebProxy не можуть вплинути на з'єднання.