Sto cercando di scaricare Xcode dal sito degli sviluppatori Apple usando solo wget o arricciatura. Penso di aver salvato con successo il cookie di cui ho bisogno per scaricare il file .dmg, ma non ne sono completamente sicuro.Download di Xcode con wget o arricciatura
Quando eseguo questo 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
un file chiamato cookies.txt
viene creato e contiene qualcosa di simile:
developer.apple.com FALSE/FALSE 0 XXXXXXXXXXXXXXXX XXXXXXXXXXXX
developer.apple.com FALSE/FALSE 0 developer.sessionToken
Io non sono del tutto certo, ma penso che ci dovrebbe essere più ad esso che (in particolare, una stringa alfanumerica dopo sessionToken
).
Quando provo a fare la stessa cosa con l'arricciatura usando questo:
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
ho un file chiamato xcode-cookie
che contiene le stesse informazioni del cookies.txt
file di wget mi dà, se non che le linee sono invertite.
Ho quindi provato a scaricare il file .dmg.
Usando 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
Questo mi dà un file chiamato 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
, che è solo una pagina HTML contenente il modulo di login per il sito degli sviluppatori.
Utilizzando ricciolo:
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
che stampa fondamentalmente la stessa cosa come wget (meno il codice HTML).
Voglio dire che ha a che fare con la sessione. I cookie non sono nel cookie, ma come ho detto prima non sono sicuro. Ho persino provato ad esportare i cookie dal mio browser e seguendo le istruzioni nel post del blog che ho linkato qui sotto e in molti altri siti che ho trovato durante la ricerca di aiuto.
Devo fare qualcosa di sbagliato, a meno che Apple non abbia cambiato qualcosa dal 10 ottobre because this guy seems to be to do something right.
Grazie in anticipo!
Grazie, petert! Mi risparmia la fatica di farlo da solo. – Joe
Sì, funziona a meraviglia - ora è facile scaricarlo durante la notte, usando cron – petert