Özel WebProxy için proxy hesabını o nesneye koyun. Diğer .NET kimlik bilgisi özellikleri farklı alıcılara hizmet eder:

ÖzellikAlıcı
WebProxy.CredentialsO nesnenin temsil ettiği proxy.
HttpClientHandler.CredentialsHedef sunucu.
DefaultProxyCredentialsProxy null ve UseProxy true olduğunda sistemin varsayılan proxy’si.

Bu .NET 10 örneği açıkça belirtilmiş proxy ve kendi hesabını sağlar:

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

Belgelendirme uç noktasını değiştirin ve operatörün verdiği hesabı kullanın. Kimlik doğrulamasız liste kaydı için uydurma giriş gerekmez. İşleyicinin Proxy özelliği açıkça atandığından DefaultProxyCredentials, WebProxy.Credentials yerine geçmez.

UseDefaultCredentials kapsamı da nesneye özeldir: işleyicinin sunucu doğrulaması ile WebProxy’nin proxy doğrulaması farklıdır. Süreç kullanıcısının hesabını göndermek 407’ye genel yanıt değildir.

Kimlik doğrulama talebi sürerse gerçek şemayı, seçili uç noktayı ve istemci/işleyici örneğini kontrol edin. Proxy doğrulaması hedef TLS’inden önce olabilir, bu yüzden sitenin Authorization başlığı buna yanıt veremez. Desteklenen doğrulama hâlâ işleyici, platform, hizmet ve dağıtım politikasına bağlıdır; genel Windows proxy değişikliği gerekmez.

İlgili makaleler