はじめに
開発環境などからファイルをダウンロードするとき、hosts ファイルにホスト名を記述して・・・というのが手っ取り早い方法ではありますが、ダウンロード自体は今回のみで hosts ファイルを編集する手間が…、という場合があります。
また、開発環境とローカルの間に proxy サーバーがあって、これを経由しないといけない環境では、ローカルの hosts を変更しても、proxy サーバーで解釈できずに失敗する場合もあります。
こんなときは、URL としては IP アドレスを直接指定して、HTTP の Host ヘッダーでホスト名を指定することで、hosts を編集する必要も、proxy 越えに悩む必要もなくなります。
curl コマンドのヘッダー指定
HTTP の Host ヘッダーを指定する
(shortest)
$ curl -LO http://192.0.2.1/file.tar.gz \
-H 'Host: www.example.com'
(save as)
$ curl -L http://192.0.2.1/file.tar.gz \
-o 192.168.2.1-file.tar.gz \
-H 'Host: www.example.com'
(with option names)
$ curl --location http://192.0.2.1/file.tar.gz \
--output file.tar.gz \
--header 'Host: www.example.com'