Подтвердить что ты не робот

Как сохранить удаленное имя файла при загрузке файла с помощью curl

Возможный дубликат:
Как сохранить файл с помощью имени заголовка ответа с помощью cURL

Мне нужно загрузить много тысяч изображений в формате

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

Если вы вставляете эту ссылку в браузере, она пытается загрузить файл с именем 1.jp2

Я хочу использовать curl, чтобы сделать то же самое. Однако, когда я запускаю

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

имя файла сообщается как 404.txt, которое вы можете скачать и посмотреть, что это файл, который я хочу. Я не могу использовать параметр -O, потому что имя, присвоенное файлу, не подходит, и у меня есть технические причины для использования фактического имени, используемого в системе.

Как получить завиток для загрузки того же файла, который мне не удается найти в моем браузере? Спасибо.

4b9b3361

Ответ 1

[edit] Я удалил попытки изменить заголовок... решение было намного проще! [/edit]

И EUREKA! решение состоит в использовании -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 Da!

Мне пришлось обновить CURL. У меня был v 7.19, который не поддерживает -J, но 7.22 (что является последним).

Ответ 2

Вы можете использовать опцию -o, можете ли вы? например,

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