我正在尝试仅使用 wget 或 curl 从 Apple Developer 站点下载 Xcode。我认为我已成功存储下载 .dmg 文件所需的 cookie,但我不完全确定。
当我运行此命令时:
wget \
--post-data="theAccountName=USERNAME&theAccountPW=PASSWORD" \
--cookies=on \
--keep-session-cookies \
--save-cookies=cookies.txt \
-O - \
https://developer.apple.com/ios/download.action?path=/ios/ios_sdk_4.1__final/xcode_3.2.4_and_ios_sdk_4.1.dmg > /dev/null
创建一个名为 cookies.txt
的文件,其中包含如下内容:
developer.apple.com FALSE / FALSE 0 XXXXXXXXXXXXXXXX XXXXXXXXXXXX
developer.apple.com FALSE / FALSE 0 developer.sessionToken
我并不完全确定,但我认为应该有更多内容(具体来说,sessionToken
之后的字母数字字符串)。
当我尝试使用curl 做同样的事情时:
curl \
-d "theAccountName=USERNAME&theAccountPW=PASSWORD" \
-c xcode-cookie \
-A "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1" \
https://developer.apple.com/ios/download.action?path=/ios/ios_sdk_4.1__final/xcode_3.2.4_and_ios_sdk_4.1.dmg
我得到一个名为 xcode-cookie
的文件,其中包含与 wget 给我的 cookies.txt
文件相同的信息,只是行相反。
然后我尝试下载 .dmg 文件。
使用 wget:
wget \
--cookies=on \
--load-cookies=cookies.txt \
--keep-session-cookies \
http://developer.apple.com/ios/download.action?path=/ios/ios_sdk_4.1__final/xcode_3.2.4_and_ios_sdk_4.1.dmg
这给了我一个名为 login?appIdKey=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&path=%2F%2Fios%2Fdownload.action?path=%2Fios%2Fios_sdk_4.1__final%2Fxcode_3.2.4_and_ios_sdk_4.1.dmg 的文件
,这只是一个包含开发者网站登录表单的 HTML 页面。
使用 curl :
curl \
-b xcode-cookie \
-c xcode-cookie \
-O -v \
-A "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1" \
https://developer.apple.com/ios/download.action?path=/ios/ios_sdk_4.1__final/xcode_3.2.4_and_ios_sdk_4.1.dmg
它打印的内容与 wget 基本相同(减去 HTML)。
我想说这与 sessionToken 不在 cookie 中有关,但就像我之前说的,我不确定。我什至尝试从浏览器导出 cookie,并按照我在下面链接的博客文章以及我在寻求帮助时找到的其他几个网站中的说明进行操作。
我肯定做错了什么,除非 Apple 自 10 月 10 日以来改变了某些内容 because this guy seems to be to do something right .
提前致谢!
最佳答案
对于 Chrome,
- 安装cookies.txt Chrome extension
- 登录Apple开发者网站并获取下载网址
- 运行 cookies.txt 扩展并下载 cookies.txt 文件
从 cookies.txt 下载目录中,将 cookies 加载到 wget 中并开始可断点下载。例如,要下载 Xcode_7.dmg,您可以运行:
wget --load-cookies=cookies.txt -c http://adcdownload.apple.com/Developer_Tools/Xcode_7/Xcode_7.dmg
关于xcode - 使用 wget 或 curl 下载 Xcode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4081568/