.NET HttpClient의 SOCKS 프록시: 지원되는 URI 체계
오래된 타사 방법이 여전히 필요하다고 가정하지 말고 호환되는 .NET HTTP 처리기의 문서화된 SOCKS 프록시 URI 체계를 사용하세요.
오래된 답변은 더 오래된 .NET 네트워크 스택을 대상으로 하기 때문에 추가 SOCKS 처리기를 권장합니다. 최신 지원 .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 버전을 선택하지 않으며, curl의 socks5h 표기는 모든 클라이언트가 허용하는 보편적인 URI 체계가 아닙니다.
인증된 SOCKS5 서비스의 경우 처리기가 지원하는 인터페이스에 따라 자격 증명을 구성하세요. SOCKS4와 SOCKS4a는 동일한 비밀번호 인증 메커니즘을 제공하지 않습니다.
대상 URL은 변경되지 않습니다. HTTPS 요청은 프록시 경로를 통해 대상의 TLS를 계속 설정하고 검증합니다. SOCKS를 추가하는 것은 그 검증을 끌 이유가 아닙니다.