Proxies SOCKS en .NET HttpClient: esquemas URI admitidos
Use los esquemas URI de proxy SOCKS documentados de un controlador HTTP .NET compatible en lugar de suponer que las recetas antiguas de terceros siguen siendo necesarias.
Las respuestas antiguas recomiendan un controlador SOCKS adicional porque apuntan a una pila de red .NET más antigua. Una pila HTTP .NET moderna y admitida puede usar los 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);El punto de conexión es solo ilustrativo. La lista de proxies SOCKS5 ofrece candidatos públicos para este URI socks5 de WebProxy; use la versión que admita el controlador real. Compruebe el marco de destino, el tiempo de ejecución, la plataforma y el controlador real que usa la aplicación antes de aplicar este ejemplo a un proceso .NET Framework más antiguo.
La documentación actual de Microsoft sobre proxies enumera socks4, socks4a y socks5. Esos nombres describen el comportamiento del protocolo. Un número de puerto por sí solo no elige la versión de SOCKS, y la grafía socks5h de curl no es un esquema URI universal que acepte todos los clientes.
Para un servicio SOCKS5 autenticado, configure las credenciales según la interfaz que admita el controlador. SOCKS4 y SOCKS4a no proporcionan el mismo mecanismo de autenticación por contraseña.
La URL de destino no cambia. Una solicitud HTTPS sigue estableciendo y verificando el TLS del destino a través de la ruta del proxy; añadir SOCKS no es motivo para desactivar esa verificación.