Oude antwoorden raden een extra SOCKS-handler aan omdat ze zich richten op een oudere .NET-netwerkstack. Een moderne ondersteunde .NET HTTP-stack kan gedocumenteerde SOCKS-proxy-URI-schema's gebruiken.

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

Het eindpunt is alleen illustratief. De SOCKS5-proxylijst biedt openbare kandidaten voor deze socks5 WebProxy-URI; gebruik de versie die de daadwerkelijke handler ondersteunt. Controleer het doelframework, de runtime, het platform en de daadwerkelijke handler die de toepassing gebruikt voordat u dit voorbeeld toepast op een ouder .NET Framework-proces.

De huidige proxydocumentatie van Microsoft vermeldt socks4, socks4a en socks5. Die namen beschrijven protocolgedrag. Een poortnummer alleen kiest niet de SOCKS-versie, en de spelling socks5h van curl is geen universeel URI-schema dat elke client accepteert.

Voor een geauthenticeerde SOCKS5-service configureert u referenties volgens de interface die de handler ondersteunt. SOCKS4 en SOCKS4a bieden niet hetzelfde wachtwoordauthenticatiemechanisme.

De bestemmings-URL blijft ongewijzigd. Een HTTPS-verzoek brengt nog steeds de TLS van de bestemming tot stand en verifieert deze via het proxypad; SOCKS toevoegen is geen reden om die verificatie uit te schakelen.

Gerelateerde artikelen