Cilat kredenciale .NET i përkasin proxy-t?
Dalloni WebProxy.Credentials, kredencialet e serverit të destinacionit dhe DefaultProxyCredentials gjatë autentikimit të proxy-t HTTP.
Për një WebProxy të personalizuar, vendosni llogarinë e proxy-t në atë objekt. Veti të tjera kredencialesh .NET shërbejnë marrës të ndryshëm:
| Vetia | Marrësi |
|---|---|
WebProxy.Credentials | Proxy i përfaqësuar nga ai objekt. |
HttpClientHandler.Credentials | Serveri i destinacionit. |
DefaultProxyCredentials | Proxy i parazgjedhur i sistemit kur Proxy është null dhe UseProxy është true. |
Ky shembull .NET 10 jep një proxy të shprehur qartë dhe llogarinë e vet:
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);
Zëvendësoni pikën e dokumentimit dhe përdorni llogari të dhënë nga operatori. Një hyrje pa autentikim nuk kërkon hyrje të sajuar. Meqë Proxy i trajtuesit caktohet shprehimisht, DefaultProxyCredentials nuk zëvendëson WebProxy.Credentials.
UseDefaultCredentials ka gjithashtu fushë sipas objektit: autentikimi i serverit nga trajtuesi dhe autentikimi proxy i WebProxy janë të ndryshëm. Dërgimi i llogarisë së përdoruesit të procesit nuk është përgjigje e përgjithshme ndaj 407.
Nëse sfida e autentikimit vazhdon, kontrolloni skemën reale, pikën e zgjedhur dhe instancën klient/trajtues. Autentikimi proxy mund të paraprijë TLS të destinacionit, ndaj koka Authorization e faqes nuk mund t’i përgjigjet. Mbështetja varet ende nga trajtuesi, platforma, shërbimi dhe politika e zbatimit; nuk nevojitet ndryshim global i proxy-t Windows.