As respostas antigas recomendan un controlador SOCKS adicional porque apuntan a unha pila de rede .NET máis antiga. Unha pila HTTP .NET moderna e admitida pode usar os esquemas URI de proxy SOCKS documentados.

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

O punto de conexión é só ilustrativo. A lista de proxies SOCKS5 ofrece candidatos públicos para este URI socks5 de WebProxy; use a versión que admita o controlador real. Comprobe o marco de destino, o tempo de execución, a plataforma e o controlador real que usa a aplicación antes de aplicar este exemplo a un proceso .NET Framework máis antigo.

A documentación actual de Microsoft sobre proxies enumera socks4, socks4a e socks5. Eses nomes describen o comportamento do protocolo. Un número de porto por si só non escolle a versión de SOCKS, e a grafía socks5h de curl non é un esquema URI universal que acepte todos os clientes.

Para un servizo SOCKS5 autenticado, configure as credenciais segundo a interface que admita o controlador. SOCKS4 e SOCKS4a non proporcionan o mesmo mecanismo de autenticación por contrasinal.

O URL de destino permanece inalterado. Unha solicitude HTTPS segue establecendo e verificando o TLS do destino a través da ruta do proxy; engadir SOCKS non é motivo para desactivar esa verificación.

Artigos relacionados