.NET HttpClient-ൽ SOCKS പ്രോക്സികൾ: പിന്തുണയ്ക്കുന്ന URI സ്കീമുകൾ
പഴയ തേർഡ്-പാർട്ടി രീതികൾ ഇപ്പോഴും ആവശ്യമാണെന്ന് അനുമാനിക്കുന്നതിന് പകരം അനുയോജ്യമായ .NET HTTP ഹാൻഡ്ലറിന്റെ രേഖപ്പെടുത്തിയ SOCKS പ്രോക്സി URI സ്കീമുകൾ ഉപയോഗിക്കുക.
പഴയ ഉത്തരങ്ങൾ അധിക SOCKS ഹാൻഡ്ലർ ശുപാർശ ചെയ്യുന്നത് അവ പഴയ .NET നെറ്റ്വർക്ക് സ്റ്റാക്കിനെ ലക്ഷ്യമിടുന്നതിനാലാണ്. ആധുനിക പിന്തുണയുള്ള .NET HTTP സ്റ്റാക്കിന് രേഖപ്പെടുത്തിയ SOCKS പ്രോക്സി URI സ്കീമുകൾ ഉപയോഗിക്കാം.
var handler = new HttpClientHandler
{
Proxy = new WebProxy("socks5://203.0.113.10:1080"),
UseProxy = true
};
using var client = new HttpClient(handler);എൻഡ്പോയിന്റ് ഉദാഹരണത്തിന് മാത്രമുള്ളതാണ്. SOCKS5 പ്രോക്സി പട്ടിക ഈ socks5 WebProxy URI-ക്ക് പൊതു സ്ഥാനാർഥികൾ നൽകുന്നു; യഥാർത്ഥ ഹാൻഡ്ലർ പിന്തുണയ്ക്കുന്ന പതിപ്പ് ഉപയോഗിക്കുക. ഈ ഉദാഹരണം പഴയ .NET Framework പ്രോസസ്സിൽ പ്രയോഗിക്കുന്നതിന് മുമ്പ് ലക്ഷ്യ ഫ്രെയിംവർക്ക്, റൺടൈം, പ്ലാറ്റ്ഫോം, ആപ്ലിക്കേഷൻ ഉപയോഗിക്കുന്ന യഥാർത്ഥ ഹാൻഡ്ലർ എന്നിവ പരിശോധിക്കുക.
Microsoft-ന്റെ നിലവിലെ പ്രോക്സി ഡോക്യുമെന്റേഷൻ socks4, socks4a, socks5 എന്നിവ പട്ടികപ്പെടുത്തുന്നു. ആ പേരുകൾ പ്രോട്ടോക്കോൾ സ്വഭാവം വിവരിക്കുന്നു. പോർട്ട് നമ്പർ മാത്രം SOCKS പതിപ്പ് തിരഞ്ഞെടുക്കുന്നില്ല, curl-ന്റെ socks5h അക്ഷരവിന്യാസം എല്ലാ ക്ലയന്റും സ്വീകരിക്കുന്ന സാർവ്വലൗകിക URI സ്കീമല്ല.
പ്രാമാണീകരിച്ച SOCKS5 സേവനത്തിന്, ഹാൻഡ്ലർ പിന്തുണയ്ക്കുന്ന ഇന്റർഫേസ് അനുസരിച്ച് ക്രെഡൻഷ്യലുകൾ കോൺഫിഗർ ചെയ്യുക. SOCKS4-ഉം SOCKS4a-യും ഒരേ പാസ്വേഡ് പ്രാമാണീകരണ സംവിധാനം നൽകുന്നില്ല.
ലക്ഷ്യ URL മാറ്റമില്ലാതെ തുടരുന്നു. HTTPS അഭ്യർത്ഥന പ്രോക്സി പാതയിലൂടെ ലക്ഷ്യത്തിന്റെ TLS ഇപ്പോഴും സ്ഥാപിക്കുകയും പരിശോധിക്കുകയും ചെയ്യുന്നു; SOCKS ചേർക്കുന്നത് ആ പരിശോധന പ്രവർത്തനരഹിതമാക്കാനുള്ള കാരണമല്ല.