Baixando o Xcode com wget ou curl
Estou tentando fazer o download do Xcode no site Apple Developer usando apenas wget ou curl. Acho que estou armazenando com êxito o cookie, preciso baixar o arquivo .dmg, mas não tenho certeza.
Quando executo este comando:
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
Um arquivo chamadocookies.txt
é criado e contém algo como isto:
developer.apple.com FALSE / FALSE 0 XXXXXXXXXXXXXXXX XXXXXXXXXXXX
developer.apple.com FALSE / FALSE 0 developer.sessionToken
Não tenho muita certeza, mas acho que deveria haver mais do que isso (especificamente, uma sequência alfanumérica apóssessionToken
)
Quando tento fazer a mesma coisa com curl usando este:
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
Eu recebo um arquivo chamadoxcode-cookie
que contém as mesmas informações que ocookies.txt
O arquivo wget me fornece, exceto que as linhas estão invertidas.
Eu tentei baixar o arquivo .dmg.
Usando o 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
Isso me dá um arquivo chamadologin?appIdKey=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&path=%2F%2Fios%2Fdownload.action?path=%2Fios%2Fios_sdk_4.1__final%2Fxcode_3.2.4_and_ios_sdk_4.1.dmg
, que é apenas uma página HTML que contém o formulário de login do site do desenvolvedor.
Usando ondulação:
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
Que imprime basicamente a mesma coisa que wget (menos o HTML).
Quero dizer que tem a ver com o sessionToken não estar no cookie, mas como eu disse antes, não tenho certeza. Eu até tentei exportar os cookies do meu navegador e seguir as instruções na postagem do blog que eu vinculei abaixo e vários outros sites que encontrei enquanto procurava por ajuda.
Devo estar fazendo algo errado, a menos que a Apple mude algo desde 10 de outubroporque esse cara parece fazer algo certo.
Desde já, obrigado!