Старі відповіді радять додатковий обробник SOCKS, бо вони орієнтовані на старіший мережевий стек .NET. Сучасний підтримуваний стек .NET HTTP може використовувати задокументовані схеми URI проксі SOCKS.

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

Кінцева точка наведена лише для прикладу. Список проксі SOCKS5 пропонує публічних кандидатів для цього URI socks5 у WebProxy; використовуйте версію, яку підтримує фактичний обробник. Перевірте цільову платформу, середовище виконання, платформу та фактичний обробник, який використовує застосунок, перш ніж застосовувати цей приклад до старішого процесу .NET Framework.

Поточна документація Microsoft щодо проксі перелічує socks4, socks4a і socks5. Ці назви описують поведінку протоколу. Лише номер порту не вибирає версію SOCKS, а написання socks5h у curl не є універсальною схемою URI, яку приймає кожен клієнт.

Для автентифікованої служби SOCKS5 налаштуйте облікові дані відповідно до інтерфейсу, який підтримує обробник. SOCKS4 і SOCKS4a не надають того самого механізму автентифікації за паролем.

URL призначення залишається незмінним. HTTPS-запит і далі встановлює та перевіряє TLS призначення через шлях проксі; додавання SOCKS не є причиною вимикати цю перевірку.

Схожі статті