wget・curl のファイル名

Linux

GNU wget 小ネタ。
オープンソースのtarballなんかをダウンロードするときは、リダイレクトがかかったり、ファイル名をContent-Dispositionヘッダで指定されたりしますが、素のwgetだと “mirror” とか “ndex.html?wpdmact=process&did=MS5ob3RsaW5r” とか訳の分からないファイル名で保存されてしまいます。

そんな時はオプション “--trust-server-names” (リダイレクトを信頼) と “--content-disposition” (Content-Dispositionヘッダを使う) を使います。.wgetrc だと

trust-server-names = on
content_disposition = on

と微妙に-(ハイフン)と_(アンダースコア)が混ざって気持ち悪いのだけど。


curl の場合は、デフォルトで標準出力なので、 -O (--remote-name) と -J (--remote-header-name) オプションを使うと Content-Disposition を参照してファイル保存してくれるのです。

コメント

タイトルとURLをコピーしました