= Сообщение: 3006 из 8555 ========================================= RU.LINUX = От : Eugene Muzychenko 2:5000/14 23 Jun 16 14:20:09 Кому : All 23 Jun 16 14:20:09 Тема : Заставить curl взять имя файла из URL при редиректе FGHI : area://RU.LINUX?msgid=2:5000/14+576b9bbb = Кодировка сообщения определена как: CP866 ================================== Ответ: area://RU.LINUX?msgid=2:5025/121+576d4025 ============================================================================== Привет!
Hаписал в Ru.Internet, потом подумал, что более правильно было бы спросить тут. :)
У curl есть ключ -O, чтобы брать имя результирующего файла из URL. Hормально работает, если в изначальном URL оно есть. Hо бывают универсальные ссылки, содержащие вместо имени файла что-нибудь вроде "?ver=latest", откуда редиректится уже на конкретный файл, и curl это корректно обрабатывает, и в логе показывает, что качает уже с "канонического" URL, но имя файла все равно берет из первичного, указанного в командной строке, а в таких случаях получается бессмысленная ерунда.
-J не помогает, если в заголовке имя файла не передается.
И древняя 7.13, и свежайшая 7.49.1 ведут себя одинаково тупо. Сборки под винду, но это, как я понимаю, влиять не должно.
Можно ей как-нибудь внушить, чтобы брала имя файла из окончательного URL, с которого реально началось скачивание? Или только городить скрипт, который скачает во временный файл, запишет и разберет лог, добудет оттуда имя файла, и переименует?
Всего доброго! Евгений Музыченко eu-gene@muzy-chen-ko.net (все дефисы убрать)
--- GoldED+/W32-MSVC 1.1.5-b20130111 * Origin: Fox Tracks, Novosibirsk, Russia (2:5000/14)