Liema kredenzjali .NET jappartjenu għall-proxy?
Iddistingwi WebProxy.Credentials, kredenzjali tas-server tad-destinazzjoni u DefaultProxyCredentials meta tawtentika proxy HTTP.
Għal WebProxy apposta, poġġi l-kont tal-proxy fuq dak l-oġġett. Proprjetajiet oħra tal-kredenzjali .NET għandhom riċevituri differenti:
| Proprjetà | Riċevitur |
|---|---|
WebProxy.Credentials | Il-proxy rappreżentata minn dak l-oġġett. |
HttpClientHandler.Credentials | Is-server tad-destinazzjoni. |
DefaultProxyCredentials | Il-proxy predefinita tas-sistema meta Proxy ikun null u UseProxy ikun true. |
Dan l-eżempju .NET 10 jagħti proxy espliċita u l-kont tagħha stess:
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);
Ibdel il-punt tad-dokumentazzjoni u uża kont mogħti mill-operatur. Entrata mingħajr awtentikazzjoni ma teħtieġx login ivvintat. Peress li Proxy tal-handler hija assenjata espliċitament, DefaultProxyCredentials ma tissostitwixxix WebProxy.Credentials.
UseDefaultCredentials għandu wkoll ambitu speċifiku għall-oġġett: l-awtentikazzjoni tas-server tal-handler u dik tal-proxy ta’ WebProxy huma differenti. Li tibgħat il-kont tal-utent tal-proċess mhix tweġiba ġenerika għal 407.
Jekk l-isfida tal-awtentikazzjoni tippersisti, iċċekkja l-iskema reali, il-punt magħżul u l-istanza tal-klijent/handler. L-awtentikazzjoni proxy tista’ tiġi qabel TLS tad-destinazzjoni, għalhekk header Authorization tas-sit ma jistax iwieġeb għaliha. L-appoġġ għadu jiddependi mill-handler, il-pjattaforma, is-servizz u l-politika tal-implimentazzjoni; ma hemmx bżonn bidla globali tal-proxy Windows.