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/

在Safari中下载时,DMG文件下载并打开没有问题,但在终端中使用curl每次都会给我带来同样的问题。这是我的错误:

hdiutil: attach failed - image not recognized

如有任何帮助,我们将不胜感激!

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

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

如果链接导致重定向,浏览器将自动跟随到curl不会重定向的位置。

查看带有L-标志的curl -L ...是否修复了该问题。

最新更新