Проблема с 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.

Другие вопросы по тегам