Я пытаюсь загрузить Xcode с сайта Apple Developer, используя только wget или curl. Я думаю, что я успешно храню cookie, мне нужно скачать файл .dmg, но я не совсем уверен.
Когда я запускаю эту команду:
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
, который содержит ту же информацию, что и файл 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:
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 октября , потому что этот парень, кажется, что-то делает правильно .
Заранее спасибо!