Curl: Как отправлять пользовательские заголовки при использовании прокси-сервера

Curl: Как отправлять пользовательские заголовки при использовании прокси-сервера

Я хочу отправлять пользовательские заголовки на хост при использовании прокси. Взгляните на примеры ниже. Объяснить ситуацию с примерами было проще.

Это работает отлично, как и ожидалось:

curl https://www.cloudflare.com/

Когда я решаю не использовать DNS, передавая IP-адрес хоста curl:

curl http://198.41.214.163/

Сайт выдает мне эту страницу с ошибкой -->

"Прямой IP-доступ не разрешен.Вы запросили IP-адрес, который является частью сети CloudFlare.Необходимо предоставить действительный заголовок хоста. чтобы попасть на нужный сайт."


Если мы укажем правильное имя заголовка хоста, он снова будет работать нормально без использования DNS:

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

Но когда я делаю то же самое, используя прокси-туннель, curl не отправляет заголовки на хост, поэтому я получаю "Прямой доступ по IP не разрешен" ошибка от хоста:

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

Как мне решить эту проблему?

решение1

Эта проблема должна исчезнуть с cURL 7.37.0, который ввел --proxy-headerпараметр для указания заголовков, предназначенных для прокси-сервера. Заголовки, указанные с -H/ --header, теперь будут рассматриваться как "только для конечного сервера".

Связанный контент