SOCKS прокси в .NET HttpClient: поддържани URI схеми
Използвайте документираните SOCKS прокси URI схеми на съвместим .NET HTTP манипулатор, вместо да предполагате, че старите рецепти от трети страни остават необходими.
Старите отговори препоръчват допълнителен SOCKS манипулатор, защото са насочени към по-стар .NET мрежов стек. Модерен поддържан .NET HTTP стек може да използва документираните SOCKS прокси URI схеми.
var handler = new HttpClientHandler
{
Proxy = new WebProxy("socks5://203.0.113.10:1080"),
UseProxy = true
};
using var client = new HttpClient(handler);Крайната точка е само илюстративна. Списъкът със SOCKS5 прокси сървъри предоставя публични кандидати за този socks5 WebProxy URI; използвайте версията, поддържана от действителния манипулатор. Проверете целевата рамка, средата за изпълнение, платформата и действителния манипулатор, използван от приложението, преди да приложите този пример към по-стар .NET Framework процес.
Текущата документация на Microsoft за прокси изброява socks4, socks4a и socks5. Тези имена описват поведението на протокола. Само номер на порт не избира версията на SOCKS, а изписването socks5h в curl не е универсална URI схема, приемана от всеки клиент.
За удостоверена SOCKS5 услуга конфигурирайте идентификационните данни според поддържания от манипулатора интерфейс. SOCKS4 и SOCKS4a не предоставят същия механизъм за удостоверяване с парола.
URL адресът на дестинацията остава непроменен. HTTPS заявката все още установява и проверява TLS на дестинацията през прокси пътя; добавянето на SOCKS не е причина да се изключи тази проверка.