SOCKS-proxyar i .NET HttpClient: støtta URI-skjema
Bruk dei dokumenterte SOCKS-proxy-URI-skjema til ein kompatibel .NET HTTP-handter i staden for å gå ut frå at gamle tredjepartsoppskrifter framleis er naudsynte.
Gamle svar tilrår ein ekstra SOCKS-handter fordi dei rettar seg mot ein eldre .NET-nettverksstakk. Ein moderne støtta .NET HTTP-stakk kan bruke dokumenterte SOCKS-proxy-URI-skjema.
var handler = new HttpClientHandler
{
Proxy = new WebProxy("socks5://203.0.113.10:1080"),
UseProxy = true
};
using var client = new HttpClient(handler);Endepunktet er berre illustrativt. SOCKS5-proxylista tilbyr offentlege kandidatar for denne socks5 WebProxy-URI-en; bruk versjonen som den faktiske handtaren støttar. Kontroller målrammeverket, køyretida, plattforma og den faktiske handtaren som applikasjonen brukar, før du brukar dette dømet på ein eldre .NET Framework-prosess.
Den noverande proxydokumentasjonen til Microsoft listar socks4, socks4a og socks5. Desse namna skildrar protokollåtferd. Eit portnummer åleine vel ikkje SOCKS-versjonen, og stavemåten socks5h i curl er ikkje eit universelt URI-skjema som alle klientar godtek.
For ein autentisert SOCKS5-teneste konfigurerer du legitimasjonen i samsvar med grensesnittet handtaren støttar. SOCKS4 og SOCKS4a gir ikkje den same passordautentiseringsmekanismen.
Mål-URL-en blir verande uendra. Ein HTTPS-førespurnad etablerer og verifiserer framleis TLS-en til målet gjennom proxybanen; å leggje til SOCKS er ikkje ein grunn til å slå av den verifiseringa.