Проблема с curl при загрузке поврежденных образов DMG
Я пытаюсь создать автоматический способ загрузки нескольких приложений и их установки, и, похоже, у меня проблемы с первым препятствием. Я могу загружать и устанавливать файлы.pkg без проблем, но когда дело доходит до файлов.dmg, я получаю ошибку "Изображение не распознано". Вот строки команд, с которыми у меня проблема:
curl --user-agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.2 Safari/605.1.15" -L -k https://m.vona.ge/getMAC > /tmp/vonage.dmg
hdiutil attach -mountpoint /Volumes/vonage /tmp/vonage.dmg
cp -R /Volumes/vonage/Vonage\ Business.app /Applications/
Файлы DMG загружаются и открываются без проблем при загрузке в Safari, но использование curl в Терминале каждый раз вызывает одну и ту же проблему. Вот моя ошибка:
hdiutil: attachfailed - image not recognized
Любая помощь будет принята с благодарностью!
2 ответа
Если ссылка приводит к перенаправлению, браузер автоматически перейдет по ней, а curl — нет.
Видишь ли, еслиcurl -L ...
сL
-flag решает проблему.
Сначала сделайте curl
с -I
вариант. Он будет выполнять только головной запрос и возвращать заголовки. Обычно бывает несколькоlocation
заголовки, которые перенаправляют. Дойдя до последней страницы, выполнитеcurl -i
и просмотрите заголовки с телом, и убедитесь, что это фактический файл, а не фрагмент Javascript, который перенаправляет на загрузку файла.
Если вы этого не сделаете, вы в основном загружаете HTML, а не файл. Ваш браузер автоматически выполняет перенаправление и запускает Javascript.