卷曲下载损坏的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中下载时没有问题,但是在Terminal中使用curl每次都会给我同样的问题。这是我的错误

hdiutil: attach Failed - image not recognized

任何帮助将不胜感激!

解决方法

首先,将curl-I选项一起使用。它将仅执行头请求并返回标头。通常,有几个location标头可以重定向。到达最后一页后,执行curl -i并查看正文的标题,并确保它是实际文件,而不是重定向到文件下载的一段Javascript。

如果不这样做,则基本上是在下载HTML,而不是文件。您的浏览器会自动执行重定向并运行Javascript。