Quines credencials .NET corresponen al proxy?
Distingeix WebProxy.Credentials, les credencials del servidor de destí i DefaultProxyCredentials en autenticar un proxy HTTP.
Per a un WebProxy propi, posa el compte del proxy en aquell objecte. Altres propietats de credencials .NET s’adrecen a destinataris diferents:
| Propietat | Destinatari |
|---|---|
WebProxy.Credentials | El proxy representat per aquell objecte. |
HttpClientHandler.Credentials | El servidor de destí. |
DefaultProxyCredentials | El proxy predeterminat del sistema quan Proxy és null i UseProxy és true. |
Aquest exemple .NET 10 proporciona un proxy explícit i el seu compte propi:
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);
Substitueix el punt de documentació i utilitza un compte facilitat per l’operador. Una entrada de llista sense autenticació no necessita una identificació inventada. Com que Proxy del gestor s’assigna expressament, DefaultProxyCredentials no substitueix WebProxy.Credentials.
UseDefaultCredentials també té un abast propi de l’objecte: l’autenticació de servidor del gestor i l’autenticació proxy d’un WebProxy són diferents. Enviar el compte de l’usuari del procés no és una resposta genèrica a 407.
Si el repte d’autenticació persisteix, comprova l’esquema real, el punt triat i la instància client/gestor. L’autenticació proxy pot precedir el TLS amb el destí, de manera que una capçalera Authorization del lloc web no hi pot respondre. L’autenticació admesa encara depèn del gestor, la plataforma, el servei i la política de desplegament; aquesta configuració no requereix cap canvi global del proxy de Windows.