Забудьте о моем prevoius ответ. Проблема не в файле. Когда вы используете wget с вашей текущей ссылкой, вы указываете на страницу sourceforge. Вы не загружаете файл, но вы загружаете HTML-страницу. Переименуйте файл в .html
и вы увидите все коды исходной страницы.
wget -q https://sourceforge.net/projects/graphicsmagick/files/latest/download?source=files -O file.html --user-agent="Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:10.0) Gecko/20100101 Firefox/10.0"
Скачайте HTML.
Ссылка, которую вы предоставляете, имеет перенаправление javascript на правильную ссылку в зависимости от вашей операционной системы (как я описал в своем другом ответе). Но wget не может выполнить этот код javascript, поэтому не перенаправляется. Однако ссылка находится внутри HTML. Поиск по следующей строке:
Problems with the download? Please use this
И после этой строки, вы можете найти прямую ссылку на последнюю версию:
http://downloads.sourceforge.net/project/graphicsmagick/graphicsmagick/1.3.25/GraphicsMagick-1.3.25.tar.gz?r=&ts=1482426819&use_mirror=vorboss
(примечание о том, что если вы используете --user-agent="Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:10.0) Gecko/20100101 Firefox/10.0"
, ссылка для tar.gz
не для .rpm
)
Вы должны поэтому загрузить HTML-файл каждый раз, искать ссылку для загрузки внутри HTML (с текущей последней версии), а также использовать его в новом wget
.
Помните, что Sourceforge выбирает расширение файла в зависимости от арки вашего SO, вы можете определить файлы для Windows, Linux и т. Д. И ссылка выберет правильный файл для вас. – JorgeHortelano
Я на centos 7 здесь. Как могу я заставить определить арку, чтобы заставить tar.gz загрузить – user2650277
Я думаю, что Sourceforge использует заголовки вашего «браузера». Конфигурация этого проекта - 'src.rpm' для пользователей linux и' tar.gz' для других. Когда вы находитесь в арке на основе Linux, вы выбираете первый вариант. Я не знаю, с помощью 'wget' вы можете отправить другой заголовок. – JorgeHortelano