xcode - 使用 wget 或 curl 下载 Xcode

标签 xcode macos curl wget

我正在尝试仅使用 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,

  1. 安装cookies.txt Chrome extension
  2. 登录Apple开发者网站并获取下载网址
  3. 运行 cookies.txt 扩展并下载 cookies.txt 文件
  4. 从 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/

相关文章:

ios - Swift 是否可以为 MKLocalSearchRequest 和 MKLocalSearchResponse 设置一个特定的国家

Bash on macOS - 获取给定年份每个星期六的日期列表

curl - 如何将当前日期插入curl命令?

xcode - 在 Xcode 6 中将 .storyboard 文件转换为原始 swift 代码

Xcode 丢失了 "Push to Remote"

Xcode 10.1 在编译时卡住

css - 如何使用 Visual Studio Code(在 Mac 上)禁用 HTML 文件的 CSS 错误

ruby-on-rails - Curl::Error::Partial File Error: 传输部分文件错误

rest - 如何使用 curl 在 Dspace 6 REST API 中上传比特流

objective-c - 核心数据转换器