Өзүңүздүн WebProxy үчүн прокси аккаунтун ошол объектке коюңуз. Башка .NET кирүү маалыматтары касиеттери башка алуучуларга арналат:

КасиетАлуучу
WebProxy.CredentialsОшол объект билдирген прокси.
HttpClientHandler.CredentialsБагыт сервери.
DefaultProxyCredentialsProxy null жана UseProxy true болгондогу системанын баштапкы проксиси.

Бул .NET 10 мисалы ачык көрсөтүлгөн проксини жана анын өз аккаунтун берет:

using System;
using System.Net;
using System.Net.Http;

string password = Environment.GetEnvironmentVariable("PROXY_PASSWORD")
    ?? throw new InvalidOperationException("Set PROXY_PASSWORD");

var proxy = new WebProxy("http://203.0.113.10:8080")
{
    Credentials = new NetworkCredential("proxy-user", password)
};

using var handler = new HttpClientHandler
{
    Proxy = proxy,
    UseProxy = true
};
using var client = new HttpClient(handler)
{
    Timeout = TimeSpan.FromSeconds(15)
};

using var response = await client.GetAsync("https://example.com/");
Console.WriteLine((int)response.StatusCode);

Документтеги акыркы чекитти алмаштырып, оператор берген аккаунтту колдонуңуз. Аутентификациясыз тизме жазуусуна ойдон чыгарылган кирүү керек эмес. Иштеткичтин Proxy касиети ачык коюлгандыктан, DefaultProxyCredentials, WebProxy.Credentials ордун баспайт.

UseDefaultCredentials чөйрөсү да объектке жараша: иштеткичтин сервер аутентификациясы жана WebProxyнин прокси аутентификациясы башка. Процесс колдонуучусунун аккаунтун жөнөтүү 407ге жалпы жооп эмес.

Аутентификация талабы калса, чыныгы схеманы, тандалган акыркы чекитти жана кардар/иштеткич нускасын текшериңиз. Прокси аутентификациясы багыт TLS-инен мурда болушу мүмкүн, ошондуктан сайттын Authorization башы ага жооп бере албайт. Колдоо дагы эле иштеткичке, платформага, кызматка жана колдонуу саясатына көз каранды; жалпы Windows проксисин өзгөртүү керек эмес.

Тектеш макалалар