Stare odpowiedzi zalecają dodatkowy program obsługi SOCKS, ponieważ dotyczą starszego stosu sieciowego .NET. Nowoczesny obsługiwany stos .NET HTTP może używać udokumentowanych schematów URI proksy SOCKS.

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

Punkt końcowy jest tylko przykładem. Lista proksy SOCKS5 udostępnia publicznych kandydatów dla tego URI socks5 w WebProxy; użyj wersji obsługiwanej przez rzeczywisty program obsługi. Sprawdź platformę docelową, środowisko uruchomieniowe, platformę sprzętową i rzeczywisty program obsługi używany przez aplikację, zanim zastosujesz ten przykład do starszego procesu .NET Framework.

Bieżąca dokumentacja proksy firmy Microsoft wymienia socks4, socks4a i socks5. Te nazwy opisują zachowanie protokołu. Sam numer portu nie wybiera wersji SOCKS, a zapis socks5h w curl nie jest uniwersalnym schematem URI akceptowanym przez każdego klienta.

W przypadku uwierzytelnionej usługi SOCKS5 skonfiguruj poświadczenia zgodnie z interfejsem obsługiwanym przez program obsługi. SOCKS4 i SOCKS4a nie zapewniają tego samego mechanizmu uwierzytelniania hasłem.

Docelowy URL pozostaje niezmieniony. Żądanie HTTPS nadal ustanawia i weryfikuje TLS miejsca docelowego przez ścieżkę proksy; dodanie SOCKS nie jest powodem do wyłączania tej weryfikacji.

Powiązane artykuły