Saját WebProxy esetén a proxyfiókot azon az objektumon add meg. Több más .NET-hitelesítőadat-tulajdonság más címzettet szolgál:

TulajdonságCímzett
WebProxy.CredentialsAz objektum által képviselt proxy.
HttpClientHandler.CredentialsA célszerver.
DefaultProxyCredentialsA rendszer alapértelmezett proxyja, amikor az Proxy null, az UseProxy pedig true.

Ez a .NET 10-példa kifejezetten megadott proxyt és annak saját fiókját használja:

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

Cseréld le a dokumentációs végpontot, és használd az üzemeltető fiókját. A hitelesítés nélküli listabejegyzéshez nem kell kitalált belépés. Mivel a kezelő Proxy tulajdonsága kifejezetten be van állítva, az DefaultProxyCredentials nem helyettesíti az WebProxy.Credentials értékét.

Az UseDefaultCredentials hatóköre is objektumfüggő: a kezelő szerverhitelesítése és a WebProxy proxyhitelesítése más. A folyamat felhasználójának fiókját elküldeni nem általános válasz a 407-re.

Ha a hitelesítési kihívás fennmarad, ellenőrizd a tényleges sémát, a kiválasztott végpontot és a kliens/kezelő példányát. A proxyhitelesítés megelőzheti a cél TLS-ét, így a webhely Authorization fejléce nem válaszolhat rá. A támogatás továbbra is kezelő-, platform-, szolgáltatás- és bevezetésiszabály-függő; globális Windows-proxymódosítás nem kell.

Kapcsolódó cikkek