问题描述
我正在尝试创建一种自动化的方式来下载多个应用程序并安装它们,而且似乎在第一步遇到了麻烦。我可以下载并安装.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。