Gamla svar rekommenderar en extra SOCKS-hanterare eftersom de riktar sig mot en äldre .NET-nätverksstack. En modern .NET HTTP-stack som stöds kan använda dokumenterade SOCKS-proxy-URI-scheman.

var handler = new HttpClientHandler
{
    Proxy = new WebProxy("socks5://203.0.113.10:1080"),
    UseProxy = true
};
using var client = new HttpClient(handler);

Slutpunkten är bara illustrativ. SOCKS5-proxylistan erbjuder offentliga kandidater för denna socks5 WebProxy-URI; använd den version som den faktiska hanteraren stöder. Kontrollera målramverket, körmiljön, plattformen och den faktiska hanterare som programmet använder innan du tillämpar det här exemplet på en äldre .NET Framework-process.

Microsofts nuvarande proxydokumentation listar socks4, socks4a och socks5. Dessa namn beskriver protokollbeteende. Enbart ett portnummer väljer inte SOCKS-versionen, och curls stavning socks5h är inte ett universellt URI-schema som alla klienter accepterar.

För en autentiserad SOCKS5-tjänst konfigurerar du autentiseringsuppgifterna enligt det gränssnitt som hanteraren stöder. SOCKS4 och SOCKS4a tillhandahåller inte samma lösenordsautentiseringsmekanism.

Destinations-URL:en förblir oförändrad. En HTTPS-begäran upprättar och verifierar fortfarande destinationens TLS via proxyvägen; att lägga till SOCKS är inte ett skäl att inaktivera den verifieringen.

Relaterade artiklar