Proksy SOCKS w .NET HttpClient: obsługiwane schematy URI
Używaj udokumentowanych schematów URI proksy SOCKS zgodnego programu obsługi .NET HTTP, zamiast zakładać, że stare przepisy firm trzecich są nadal potrzebne.
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.