2011-09-16 5 views
21

可能性の重複を使用してファイルをダウンロードするとき、私は、リモート・ファイル名を保存するにはどうすればよい:
How do I save a file using the response header filename with cURLカール

私はフォーマットの画像の何千もをダウンロードする必要が

http://oregondigital.org/cgi-bin/showfile.exe?CISOROOT=/baseball&CISOPTR=0

このリンクをブラウザに貼り付けると、 1.jp2というファイルをダウンロードしようとしました

同じようにカールを使いたいです。しかし、私は

カールを実行すると-I「http://oregondigital.org/cgi-bin/showfile.exe?CISOROOT=/baseball&CISOPTR=0

ファイル名は、あなたがダウンロードして、それは実際に私がしたいファイルであることを見ることができる404.txtとして報告されます。私は-Oオプションを使うことができません。なぜなら、ファイルに割り当てられた名前はいいものではなく、システム上で実際に使われている名前が必要な技術的な理由があるからです。

同じファイルをカールさせるにはどうすればよいですか?ブラウザで検索するのに問題はありませんか?ありがとう。

+0

私の推測では、私はちょうどそれがChromeのUAを追加し、それが助けにはならなかった試みたものの、これは何とか、呼び出し元のユーザーエージェントに関連していることです。 –

答えて

34

[編集]私は、ヘッダーを変更で私の試みを削除...解決策は非常に簡単だった![/編集]

ユーレカ!解決策は、-O -J

-O, --remote-name   Write output to a file named as the remote file 
-J, --remote-header-name Use the header-provided filename 

そう...

curl -O -J 'http://oregondigital.org/cgi-bin/showfile.exe?CISOROOT=/baseball&CISOPTR=0' 

のTaダを使用することです!

CURLをアップグレードする必要がありました。私はv 7.19を持っていましたが、-Jはサポートしていませんでしたが、7.22(これは最新です)がサポートしています。

+1

@ Dr.Debelあなたはちょうど '-J'と' -H'のどれも必要としません: 'curl -O -J 'http://oregondigital.org/cgi-bin/showfile.exe?CISOROOT=/baseball&CISOPTR= 0'' –

-1

-oオプションを使用できますか?例えば

curl 'http://oregondigital.org/cgi-bin/showfile.exe?CISOROOT=/baseball&CISOPTR=[0-9]' -o "#1.jpg" 
+0

彼は質問に答えて、彼はファイル名をshowfile.exeにしたくないので、-Oを使うことができないと言っています。 :) –

+0

まあ、あなたも注意を払う必要があります。その小さな "o"は、ユーザーがファイル名を定義できるようにします。 –

+0

この場合、ユーザーはファイル名を定義することはできません。着信応答のヘッダーから来ています –