Que credenciais .NET corresponden ao proxy?
Distingue WebProxy.Credentials, credenciais do servidor de destino e DefaultProxyCredentials ao autenticar un proxy HTTP.
Para un WebProxy propio, pon a conta do proxy nese obxecto. Outras propiedades de credenciais .NET teñen destinatarios diferentes:
| Propiedade | Destinatario |
|---|---|
WebProxy.Credentials | O proxy representado por ese obxecto. |
HttpClientHandler.Credentials | O servidor de destino. |
DefaultProxyCredentials | O proxy predeterminado do sistema cando Proxy é null e UseProxy é true. |
Este exemplo .NET 10 proporciona un proxy explícito e a súa propia conta:
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);
Substitúe o punto de documentación e usa unha conta facilitada polo operador. Unha entrada de lista sen autenticación non precisa un inicio de sesión inventado. Como Proxy do controlador se asigna expresamente, DefaultProxyCredentials non substitúe WebProxy.Credentials.
UseDefaultCredentials tamén ten alcance propio do obxecto: a autenticación de servidor do controlador e a autenticación de proxy de WebProxy son distintas. Enviar a conta do usuario do proceso non é unha resposta xenérica a 407.
Se persiste o desafío de autenticación, revisa o esquema real, o punto elixido e a instancia cliente/controlador. A autenticación proxy pode preceder o TLS do destino, polo que unha cabeceira Authorization do sitio non pode respondela. A autenticación admitida segue dependendo do controlador, da plataforma, do servizo e da política de implantación; non fai falta cambiar o proxy global de Windows.