Я пытаюсь загрузить Xcode с сайта Apple Developer, используя только wget или curl. Я думаю, что я успешно храню файл cookie, который мне нужен для загрузки файла .dmg, но я не совсем уверен.Загрузка Xcode с wget или curl
Когда я запускаю эту команду:
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 \
-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
, который содержит ту же информацию, что и cookies.txt
файла Wget дает мне, за исключением того, что линии перепутаны.
Затем я попытался загрузить файл .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=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 \
-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).
Я хочу сказать, что это связано с тем, что сеансToken не находится в cookie, но, как я уже говорил, я не уверен. Я даже попытался экспортировать файлы cookie из своего браузера и следуя инструкциям в сообщении в блоге, которое я связал ниже, и нескольких других сайтах, которые я нашел при поиске помощи.
Должно быть, я делаю что-то неправильно, если Apple ничего не изменила с 10 октября because this guy seems to be to do something right.
Заранее благодарен!
Спасибо, petert! Спасет меня сама по себе. – Joe
Yeh, работает с удовольствием - теперь его легко установить за одну ночь, используя cron. – petert