Ni taarifa zipi za kuingia za .NET ni za proksi?
Tofautisha WebProxy.Credentials, taarifa za seva ya lengo na DefaultProxyCredentials wakati wa kuthibitisha proksi ya HTTP.
Kwa WebProxy maalumu, weka akaunti ya proksi kwenye kitu hicho. Sifa nyingine za taarifa za kuingia za .NET zina wapokeaji tofauti:
| Sifa | Mpokeaji |
|---|---|
WebProxy.Credentials | Proksi inayowakilishwa na kitu hicho. |
HttpClientHandler.Credentials | Seva ya lengo. |
DefaultProxyCredentials | Proksi ya kawaida ya mfumo wakati Proxy ni null na UseProxy ni true. |
Mfano huu wa .NET 10 unaweka proksi iliyotajwa wazi na akaunti yake yenyewe:
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);
Badili sehemu ya mwisho ya nyaraka na utumie akaunti iliyotolewa na mwendeshaji. Ingizo lisilohitaji uthibitishaji halihitaji kuunda taarifa za kuingia. Kwa kuwa Proxy ya kishughulikiaji imewekwa wazi, DefaultProxyCredentials si mbadala wa WebProxy.Credentials.
UseDefaultCredentials pia ina upeo maalumu wa kitu: uthibitishaji wa seva wa kishughulikiaji ni tofauti na uthibitishaji wa proksi wa WebProxy. Kutuma akaunti ya mtumiaji wa mchakato si jibu la jumla kwa 407.
Changamoto ya uthibitishaji ikiendelea, kagua mpango halisi, sehemu ya mwisho iliyochaguliwa na nakala ya mteja/kishughulikiaji. Uthibitishaji wa proksi unaweza kutangulia TLS ya lengo, hivyo kichwa cha Authorization cha tovuti hakiwezi kuijibu. Usaidizi bado unategemea kishughulikiaji, jukwaa, huduma na sera ya uwekaji; hakuna haja ya kubadili proksi ya Windows kwa mfumo mzima.