Өөрийн 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-ийн проксийг нийтэд нь өөрчлөх шаардлагагүй.

Холбоотой нийтлэлүүд