HttpClient.DefaultProxy.IsBypassed ഉപയോഗിച്ച് .NET NO_PROXY നിയമങ്ങൾ പരിശോധിക്കുക
HttpClient-ന് രണ്ടിനും പ്രോക്സി ഒഴിവാക്കേണ്ടിവരുമ്പോൾ വെറും ഡൊമെയിനും മുൻപിൽ ഡോട്ടുള്ള രൂപവും പട്ടികപ്പെടുത്തി, തുടർന്ന് IsBypassed പരിശോധിക്കുക.
HttpClient-ന്റെ രേഖപ്പെടുത്തിയ പരിസ്ഥിതി-പ്രോക്സി നയപ്രകാരം example.internal-ഉം .example.internal-ഉം വ്യത്യസ്തമായി പൊരുത്തപ്പെടുന്നു. വെറും പേര് മാതൃ ഹോസ്റ്റ് തിരഞ്ഞെടുക്കുന്നു; മുൻപിൽ ഡോട്ടുള്ള രൂപം അതിന്റെ ഉപഡൊമെയിനുകൾ തിരഞ്ഞെടുക്കുന്നു.
രണ്ടും നേരിട്ട് പോകേണ്ടതുണ്ടെങ്കിൽ, രണ്ടും പ്രാരംഭ പരിസ്ഥിതിയിൽ ഉൾപ്പെടുത്തുക:
export no_proxy='example.internal,.example.internal'
ഇവ ഉദ്ദേശിക്കുന്ന നിലവിലുള്ള ഒഴിവാക്കൽ പട്ടികയുമായി ചേർക്കുക. വേരിയബിൾ നാമങ്ങൾ വലിയ-ചെറിയ അക്ഷരങ്ങൾ വേർതിരിക്കുന്ന സിസ്റ്റങ്ങളിൽ, .NET ആദ്യം ചെറിയ അക്ഷരത്തിലുള്ള പ്രോക്സി പരിസ്ഥിതി നാമങ്ങളും പിന്നീട് വലിയ അക്ഷരത്തിലുള്ളവയും പരിശോധിക്കുന്നു, അതിനാൽ പഴയ no_proxy-ക്ക് NO_PROXY-യേക്കാൾ മുൻഗണന ലഭിച്ചേക്കാം.
അപ്ലിക്കേഷനുള്ളിൽ, ലക്ഷ്യത്തിലേക്കുള്ള HTTP അഭ്യർത്ഥന അയയ്ക്കാതെ തന്നെ സ്ഥിരസ്ഥിതി തിരഞ്ഞെടുക്കൽ പരിശോധിക്കാം:
foreach (var host in new[] {
"example.internal", "api.example.internal", "other.internal"
})
{
var uri = new Uri("https://" + host + "/");
Console.WriteLine($"{host}: bypass={HttpClient.DefaultProxy.IsBypassed(uri)}");
}
ഈ ഭാഗം System-ഉം System.Net.Http-ഉം ഉപയോഗിക്കുന്നു. ആപ്ലിക്കേഷൻ വ്യക്തമായി മറ്റൊരു IWebProxy നൽകിയെങ്കിൽ, പകരം യഥാർത്ഥ ഹാൻഡ്ലർ പ്രോക്സി പരിശോധിക്കുക. സ്വതവേയുള്ള പ്രോക്സി ആരംഭിക്കുന്നതിന് മുൻപ് ഉദ്ദേശിക്കുന്ന പരിസ്ഥിതി സജ്ജമാക്കുക.
ഇവ .NET-ന്റെ രേഖപ്പെടുത്തിയ നിയമങ്ങളാണ്. അതേ സ്ട്രിംഗ് ഉപയോഗിച്ചുള്ള curl ഫലം മറ്റൊരു ക്ലയന്റ് അതേ പാത തിരഞ്ഞെടുത്തു എന്ന് തെളിയിക്കുന്നില്ല, കൂടാതെ ഒഴിവാക്കൽ തീരുമാനത്തിന് ഇപ്പോഴും നേരിട്ടുള്ള നെറ്റ്വർക്ക് എത്തിച്ചേരൽ ആവശ്യമാണ്.