linux – リダイレクトされたときに正しい名前でファイルを取得するには?

command-line curl linux redirection wget

だから、GoogleとSuper Userで検索した後(とスキャンマンページ)、私は(私が思うに)簡単なはずの何かの答えを見つけることができませんでした

ここに行けば

http://www.vim.org/scripts/script.php?script_id=2340

そして、テーマをダウンロードしてみてください

http://www.vim.org/scripts/download_script.php?src_id=9750

Like so:

wget http://www.vim.org/scripts/download_script.php?src_id=9750

おそらく、download_script.php?src_id=9750というファイルになってしまうでしょう

でも、このファイルをブラウザでダウンロードするとどうなるかというと、molokai.vimという名前にしてほしい

目的の効果を得るためにwgetにはどのようなオプションを指定する必要がありますか?

Curl相当のコマンドでも良いと思います

  126  audio.zoom  2011-06-23


ベストアンサー

-O file
--output-document=file

文書は適切なファイルには書き込まれませんが、すべてが連結されてファイルに書き込まれます。-がファイルとして使われた場合、文書は標準出力に出力され、リンク変換を無効にします。(文字通り-.という名前のファイルに出力するには./-を使う)

So,

wget -O somefile.extension http://www.vim.org/scripts/download_script.php?src_id=9750

あるいは、お使いのバージョンでサポートされているならば、 –content-disposition オプションを使って wget にこの問題を解決させることができるかもしれません

wget --content-disposition http://www.vim.org/scripts/download_script.php?src_id=9750

男のページにあるような注意点、、、

--content-disposition

これが on に設定されている場合、”Content-Disposition” ヘッダの実験的な (完全な機能ではない) サポートが有効になります。これは現在のところ、”HEAD” リクエストのためにサーバへの余分なラウンドトリップを引き起こす可能性があり、 いくつかのバグに悩まされていることが知られています

このオプションは、ダウンロードされたファイルの名前が何であるべきかを記述するために “Content-Disposition” ヘッダを使用するいくつかのファイルダウンロード CGI プログラムに便利です

を使って、curlでも同じように自動化された動作を実現することができます

curl -JLO http://www.vim.org/scripts/download_script.php?src_id=9750

-Oはリモート名を使用し、-JはURLではなくcontent-dispositionヘッダからその名前を強制的に取得し、-Lは必要に応じてリダイレクトを追いかける

168  EightBitTony  2011-06-23


wgetを使えばこんなことができます

wget --trust-server-names <url>

をクリックすると、サーバーが指定した最後のファイル名でファイルを保存することができます

84  Thi Duong Nguyen  2012-06-29


また、aria2cを使用することもできます

4  dkam  2018-01-24


以下で作業しました

curl -o molokai.vim http://www.vim.org/scripts/download_script.php?src_id=9750

wget -O somefile.extension http://www.vim.org/scripts/download_script.php?src_id=9750

(大文字小文字を小さくして (wget -o) を (wget -o) に変更)

1  Zahid Hussain  2016-02-15


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