![Curl 7.27: [ANY]_PROXY 설정; 컬은 프록시를 통해 호스트 이름을 확인하지 않습니다.](https://linux55.com/image/35288/Curl%207.27%3A%20%5BANY%5D_PROXY%20%EC%84%A4%EC%A0%95%3B%20%EC%BB%AC%EC%9D%80%20%ED%94%84%EB%A1%9D%EC%8B%9C%EB%A5%BC%20%ED%86%B5%ED%95%B4%20%ED%98%B8%EC%8A%A4%ED%8A%B8%20%EC%9D%B4%EB%A6%84%EC%9D%84%20%ED%99%95%EC%9D%B8%ED%95%98%EC%A7%80%20%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
저는 양말 프록시와 함께 컬을 사용하고 있습니다. 프록시는 다음을 통해 구성됩니다.ANY_PROXY="socks5://NNN.NNN.NNN.NNN.PPPP"
나는 컬이 프록시를 통하지 않고 로컬로 호스트 이름을 확인하는 것을 관찰했습니다. IP가 포함된 URL을 요청하면 요청은 제대로 작동하지만 호스트 이름을 로컬에서 확인할 수 없고 컬이 실패합니다.
매뉴얼 페이지에서 다음과 같은 명시적인 CLI 옵션을 찾았습니다.
--socks5-hostname <host[:port]> Use the specified SOCKS5 proxy (and let the proxy resolve the host name).
흥미롭게도 괄호 안의 텍스트는 이 옵션이 프록시를 통해 호스트 이름도 확인한다는 점을 강조합니다. 그러나 이것은 모두 호스트 이름 확인에 관한 것이며 나머지 매뉴얼 페이지에는 이름 확인이 프록시와 어떻게 작동하는지 언급하는 텍스트가 없습니다.
버전:curl 7.27.0 (x86_64-redhat-linux-gnu) libcurl/7.27.0 NSS/3.15.1 zlib/1.2.7 libidn/1.26 libssh2/1.4.3
컬이 호스트 이름을 지정하지 않고 프록시를 통해 호스트 이름을 확인할 수 있도록 하는 옵션이나 대체 환경 변수가 있습니까 --socks5-hostname <host:port>
?
답변1
나 같은 바보에게는 미묘한 부분이 있습니다.
7.21.7부터 SOCKS 5 호스트 이름
-x
프록시를 지정하여 프로토콜 접두사를 사용할 수 있으므로 이 옵션은 중복됩니다.--proxy
socks5h://
h
다음 작은 부분은 socks5
컬에게 프록시를 통해서도 호스트 이름을 찾도록 지시합니다.
컬 만들기프록시를 통해 호스트 이름 찾기내보내야 합니다.
ALL_PROXY="socks5h://NNN.NNN.NNN.NNN.PPPP"
에이전트에 비해현지에서 찾기:
ALL_PROXY="socks5://NNN.NNN.NNN.NNN.PPPP"