സ്വന്തം WebProxyക്കായി പ്രോക്സി അക്കൗണ്ട് അതേ ഒബ്ജക്ടിൽ നൽകുക. മറ്റ് .NET പ്രവേശനവിവര പ്രോപ്പർട്ടികളുടെ സ്വീകർത്താക്കൾ വേറെയാണ്:

പ്രോപ്പർട്ടിസ്വീകർത്താവ്
WebProxy.Credentialsആ ഒബ്ജക്ട് പ്രതിനിധീകരിക്കുന്ന പ്രോക്സി.
HttpClientHandler.Credentialsലക്ഷ്യസ്ഥാന സെർവർ.
DefaultProxyCredentialsProxy nullയും UseProxy trueയും ആകുമ്പോൾ സിസ്റ്റത്തിന്റെ ഡിഫോൾട്ട് പ്രോക്സി.

ഈ .NET 10 ഉദാഹരണം വ്യക്തമായി നിശ്ചയിച്ച പ്രോക്സിയും അതിന്റെ സ്വന്തം അക്കൗണ്ടും നൽകുന്നു:

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);

രേഖയിലെ എൻഡ്പോയിന്റ് മാറ്റി ഓപ്പറേറ്റർ നൽകിയ അക്കൗണ്ട് ഉപയോഗിക്കുക. തിരിച്ചറിയൽ സ്ഥിരീകരണം വേണ്ടാത്ത പട്ടിക ഇനത്തിന് സാങ്കൽപ്പിക ലോഗിൻ വേണ്ട. ഹാൻഡ്ലറിന്റെ Proxy വ്യക്തമായി നിശ്ചയിച്ചതിനാൽ DefaultProxyCredentials, WebProxy.Credentialsന് പകരമല്ല.

UseDefaultCredentialsന്റെ പരിധിയും ഒബ്ജക്ടിനെ ആശ്രയിക്കുന്നു: ഹാൻഡ്ലറിന്റെ സെർവർ സ്ഥിരീകരണവും WebProxyയുടെ പ്രോക്സി സ്ഥിരീകരണവും വേറെയാണ്. പ്രോസസ് ഉപയോക്താവിന്റെ അക്കൗണ്ട് അയയ്ക്കുന്നത് 407ന്റെ പൊതുവായ ഉത്തരമല്ല.

തിരിച്ചറിയൽ ആവശ്യം തുടരുന്നെങ്കിൽ യഥാർഥ രീതി, തിരഞ്ഞെടുത്ത എൻഡ്പോയിന്റ്, ക്ലയന്റ്/ഹാൻഡ്ലർ ഇൻസ്റ്റൻസ് പരിശോധിക്കുക. പ്രോക്സി സ്ഥിരീകരണം ലക്ഷ്യ TLSന് മുമ്പാകാം; അതിനാൽ വെബ്‌സൈറ്റിന്റെ Authorization ഹെഡറിന് മറുപടി നൽകാനാവില്ല. പിന്തുണ ഇപ്പോഴും ഹാൻഡ്ലർ, പ്ലാറ്റ്ഫോം, സേവനം, വിന്യാസനയം എന്നിവയെ ആശ്രയിക്കുന്നു; ആഗോള Windows പ്രോക്സി മാറ്റം വേണ്ട.

അനുബന്ധ ലേഖനങ്ങൾ