使用wget或curl下载Xcode

Joe*_*Joe 28 macos xcode 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
Run Code Online (Sandbox Code Playgroud)

cookies.txt创建一个名为的文件,其中包含以下内容:

developer.apple.com FALSE / FALSE 0 XXXXXXXXXXXXXXXX  XXXXXXXXXXXX
developer.apple.com FALSE / FALSE 0 developer.sessionToken
Run Code Online (Sandbox Code Playgroud)

我不完全确定,但我认为它应该有更多(特别是后面的字母数字字符串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
Run Code Online (Sandbox Code Playgroud)

我得到一个名为的文件xcode-cookie包含与cookies.txtwget给我的文件相同的信息,除了行相反.

然后我尝试下载.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
Run Code Online (Sandbox Code Playgroud)

这给了我一个名为的文件login?appIdKey=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&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
Run Code Online (Sandbox Code Playgroud)

其打印基本上与wget相同(减去HTML).

我想说这与sessionToken不在cookie中有关,但就像我之前说的那样,我不确定.我甚至尝试从浏览器中导出cookie并按照我在下面链接的博客文章中的说明以及我在搜索帮助时找到的其他几个网站.

我必须做错事,除非苹果公司自10月10日以来改变了一些事情,因为这家伙似乎要做正确的事情.

提前致谢!

pet*_*ert 43

对于Chrome,

  1. 安装cookies.txt Chrome扩展程序
  2. 登录Apple Developer站点并获取下载URL
  3. 运行cookies.txt扩展并下载cookies.txt文件
  4. 从cookies.txt下载目录中,将cookie加载到wget并开始可恢复下载.例如,要下载Xcode_7.dmg,您将运行:

    wget --load-cookies = cookies.txt -c http://adcdownload.apple.com/Developer_Tools/Xcode_7/Xcode_7.dmg


小智 20

也许这是使用curl最简单的方法:

  • 打开Google Chrome.app;
  • 转到网站developer.apple.com;
  • CMD+ SHIFT+ J或点击右上角的Menu图标 - > Tools- > Developer Tools;
  • 点击Network面板;
  • 现在点击Xcodeapple.com下载链接;
  • 您将在Network面板中看到一个或多个请求记录;
  • 右键单击最新记录,然后单击Copy as cURL;

现在,您获得了包含cookie和其他http-requeset字段的下载链接的curl命令,只需粘贴到您的终端并-o xxx.dmg在最后添加即可.

  • 最后添加`-L -C -`(在建议`-o xxx.dmg`之后),你可以**恢复**以前的下载(即下载中断的服务器端) (5认同)

Noa*_*ier 14

这是一个使用curl而不是wget的脚本,因此它可以在股票Mac上运行.您需要设置的只是xcode DMG文件的路径.该脚本将询问您的用户名和密码,它将为您确定ACTION和WOSID值.

#!/bin/sh

# Change this line to the URI path of the xcode DMG file.
XCODE_PATH="/ios/ios_sdk_4.2__final/xcode_3.2.5_and_ios_sdk_4.2_final.dmg"

echo "Enter your Apple Dev Center username."
read -p "> " USERNAME
echo "Enter your Apple Dev Center password."
read -p "> " PASSWORD

curl \
        -L -s -k \
        --cookie-jar cookies \
        -A "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1) Gecko/20090624 Firefox/3.5" \
        https://developer.apple.com/devcenter/ios/login.action \
        -o login.html

ACTION=$(sed -n 's/.*action="\(.*\)".*/\1/p' login.html)
WOSID=$(sed -n 's/.*wosid" value="\(.*\)".*/\1/p' login.html)
echo "action=${ACTION}"
echo "wosid=${WOSID}"

curl \
        -s -k --cookie-jar cookies --cookie cookies \
        -A "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1) Gecko/20090624 Firefox/3.5" \
        -e ";auto" "https://daw.apple.com${ACTION}?theAccountName=${USERNAME}&theAccountPW=${PASSWORD}&theAuxValue=&wosid=${WOSID}&1.Continue.x=0&1.Continue.y=0" \
        > /dev/null

curl \
        -L --cookie-jar cookies --cookie cookies \
        -A "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1) Gecko/20090624 Firefox/3.5" \
        -O https://developer.apple.com/ios/download.action?path=${XCODE_PATH}

rm login.html
rm cookies


Gre*_*reg 9

在重复下载最新版本的Xcode直接下载到我的Mac开发机器后,我刚刚走了同样的道路.我也无法完全按照书面形式完成丹尼尔的工作方法.

这对我有用:

  1. 使用Firefox登录iOS开发中心

  2. 使用Cookie Exporter 1.5将cookie保存到文本文件中,例如"cookies.txt"

  3. FTP将cookies.txt发送到我的登台服务器,该服务器上有一个很好的胖管道

  4. 从登台服务器使用wget下载文件(约5分钟)

  5. 使用FTP将DMG文件传回我的开发机器(约2小时)

这是wget命令行:

wget --cookies=on --load-cookies=cookies.txt --keep-session-cookies --save-cookies=cookies.txt http://adcdownload.apple.com/ios/ios_sdk_4.1__final/xcode_3.2.4_and_ios_sdk_4.1.dmg
Run Code Online (Sandbox Code Playgroud)

这里的技巧是不使用页面上的下载链接,而是开始下载,然后使用下载列表中的上下文菜单"复制下载链接".