Curl: プロキシを使用しながらカスタム ヘッダーを送信する方法

Curl: プロキシを使用しながらカスタム ヘッダーを送信する方法

プロキシを使用しているときに、カスタム ヘッダーをホストに送信したいです。以下の例をご覧ください。例を使用して状況を説明すると、より簡単になります。

これは期待どおりに正常に動作します:

curl https://www.cloudflare.com/

ホストの IP アドレスを curl に指定して DNS の使用を回避することを選択した場合:

curl http://198.41.214.163/

ウェブサイトにこのエラーページが表示されます -->

直接 IP アクセスは許可されません。CloudFlare ネットワークの一部である IP アドレスをリクエストしました。有効なホストヘッダーを指定する必要があります 目的のウェブサイトにアクセスします。」


正しいホスト ヘッダー名を指定すると、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

--proxy-headerこの問題は、プロキシ サーバー用のヘッダーを指定するためのパラメーターが導入された cURL 7.37.0 で解消されるはずです-H。/で指定されたヘッダーは--header、現在「エンド サーバーのみ」として表示されます。

関連情報