Существует ли путь к загрузке XCode с помощью завихрения или wget?
Править: Почему следующий вихревой отрывок не работает?
Во-первых, я вхожу в сайт Apple:
curl -d "theAccountName=USERNAME&theAccountPW=PASS" -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://daw.apple.com//cgi-bin/WebObjects/DSAuthWeb.woa/104/wo/W1df7WQblBsLekQzvS1tJ0/0.5.3.1.1.2.1.1.3.1.1"
Затем я пытаюсь загрузить файл:
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"
http://adcdownload.apple.com/ios/ios_sdk_4.0.2__final/xcode_3.2.3_and_ios_sdk_4.0.2.dmg
Однако я получаю 403 Запрещенных ошибки:
* About to connect() to adcdownload.apple.com port 80 (#0)
* Trying 60.254.148.16... % Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0connected
* Connected to adcdownload.apple.com (60.254.148.16) port 80 (#0)
> GET /ios/ios_sdk_4.0.2__final/xcode_3.2.3_and_ios_sdk_4.0.2.dmg HTTP/1.1
> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
> Host: adcdownload.apple.com
> Accept: */*
> Cookie: myacinfo=foo; DefaultAppleID=bar; ds01=baz
>
< HTTP/1.1 403 Forbidden
< Server: Apache-Coyote/1.1
< X-Powered-By: Servlet 2.4; JBoss-4.0.5.GA (build: CVSTag=Branch_4_0 date=200610162339)/Tomcat-5.5
< no-cache: Cache-Control
< no-store: Cache-Control
< Content-Type: text/html;charset=ISO-8859-1
< Date: Mon, 30 Aug 2010 05:30:42 GMT
< Transfer-Encoding: chunked
< Connection: keep-alive
< Connection: Transfer-Encoding
< Cache-Control: no-store
<
{ [data not shown]
100 1932 0 1932 0 0 7531 0 --:--:-- --:--:-- --:--:-- 8548* Connection #0 to host adcdownload.apple.com left intact
* Closing connection #0
Josh думает слишком бесхитростно. URL для загрузки XCode является действительно http://developer.apple.com/iphone/download.action?path=%2Fios%2Fios_sdk_4.0.2__final%2Fxcode_3.2.3_and_ios_sdk_4.0.2.dmg
Однако Вы должны аутентифицироваться для загрузки файла.
Now и Wget и ЗАВИХРЕНИЕ поддерживают cookie, но я никогда не использовал ЗАВИХРЕНИЕ для загрузок, таким образом, вот является несколько использований строк Wget для первой аутентификации в сайт разработчика (хранящий cookie аутентификации в файле cookies.txt), затем другая строка для фактического захвата загрузки (вспоминающий тот же самый файл cookies.txt):
wget --post-data="theAccountName=YOURUSERNAME&theAccountPW=YOURPASSWORD" --cookies=on --load-cookies=cookies.txt --keep-session-cookies --save-cookies=cookies.txt https://daw.apple.com/cgi-bin/WebObjects/DSAuthWeb.woa/67/wo/99OWdOWyhWA2pMdrPemdSw/0.5.3.1.1.2.1.1.3.1.1
wget --cookies=on --load-cookies=cookies.txt --keep-session-cookies --save-cookies=cookies.txt http://developer.apple.com/iphone/download.action?path=%2Fios%2Fios_sdk_4.0.2__final%2Fxcode_3.2.3_and_ios_sdk_4.0.2.dmg
Обязательно измените YOURUSERNAME и YOURPASSWORD к соответствующим значениям, и измените путь к файлу cookies.txt, раз так желаемому. Кроме того, обратите внимание, что URL формы входа в систему мог бы измениться, так, несомненно, мог бы проверить атрибут действия формы входа в систему от Вашего браузера, если этому не удается работать.
Я протестировал это на своем сервере, и загрузка заняла приблизительно 40 минут. Это работало обработка!
Единственная команда, с помощью запаса Mac OS X 10.6.6 инструментов командной строки (bash
, curl
и sqlite3
).
curl -b <(sqlite3 -separator $'\t' ~/Library/Application\ Support/Google/Chrome/Default/Cookies "select host_key, 'TRUE','/', 'FALSE', expires_utc, name, value from cookies where host_key like '%apple.com%'") http://adcdownload.apple.com/ios/ios_sdk_4.2__final/xcode_3.2.5_and_ios_sdk_4.2_final.dmg
Протесты:
Это использует запрос sqlite базы данных cookie Google Chrome.
Необходимо войти в систему через страницу разработчика XCode Apple с браузером сначала так, чтобы cookie были установлены.
Примечания:
<() оператор Process Substitution удара и покончил с немедленно устаревшим временным файлом cookie.
Если, как я, Вы возобновляете остановленную загрузку браузера, и Вы имеете файл, используете эти аргументы:
-C - -o unconfirmed\ 21043.crdownload
Теперь, когда у Вас есть XCode, можно установить Домашнее пиво, и затем wget.;)