Curl: 프록시를 사용하는 동안 사용자 정의 헤더를 보내는 방법

Curl: 프록시를 사용하는 동안 사용자 정의 헤더를 보내는 방법

프록시를 사용하는 동안 호스트에 사용자 정의 헤더를 보내고 싶습니다. 아래 예를 살펴보십시오. 사례를 들어 상황을 설명하는 것이 더 쉬웠습니다.

예상대로 잘 작동합니다.

curl https://www.cloudflare.com/

컬에 호스트의 IP 주소를 제공하여 DNS 사용을 피하기로 선택한 경우:

curl http://198.41.214.163/

웹사이트에서 다음 오류 페이지를 표시합니다 -->

"직접 IP 접속은 허용되지 않습니다.CloudFlare 네트워크의 일부인 IP 주소를 요청했습니다.유효한 호스트 헤더를 제공해야 합니다. 원하는 웹사이트에 접속하려면."


올바른 호스트 헤더 이름을 제공하면 DNS를 사용하지 않고도 다시 정상적으로 작동합니다.

curl --header "Host: cloudflare.com" http://198.41.214.163/

하지만 프록시 터널을 사용하는 동안 동일한 작업을 수행하면 컬이 호스트에 헤더를 보내지 않으므로 "직접 IP 접근은 허용되지 않습니다" 호스트에서 오류 발생:

curl --proxy "http://PROXY_IP:PORT" --header "Host: cloudflare.com" http://198.41.214.163/

이 문제를 어떻게 극복할 수 있나요?

답변1

--proxy-header이 문제는 프록시 서버용 헤더를 지정하는 매개변수를 도입한 cURL 7.37.0에서 해결되어야 합니다 . -H/ 로 제공된 헤더는 --header이제 "최종 서버 전용"으로 표시됩니다.

관련 정보