sierra not macosx mac instalar high found xcode macos curl wget

xcode - macosx - wget command not found macos



Descargando Xcode con wget o curl (7)

Intento descargar Xcode del sitio del Desarrollador de Apple usando solo wget o curl. Creo que estoy almacenando con éxito la cookie que necesito para descargar el archivo .dmg, pero no estoy del todo seguro.

Cuando ejecuto 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

Se cookies.txt un archivo llamado cookies.txt contiene algo como esto:

developer.apple.com FALSE / FALSE 0 XXXXXXXXXXXXXXXX XXXXXXXXXXXX developer.apple.com FALSE / FALSE 0 developer.sessionToken

No estoy del todo seguro, pero creo que debería haber algo más que eso (específicamente, una cadena alfanumérica después de la sessionToken ).

Cuando trato de hacer lo mismo con Curl usando esto:

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

Obtengo un archivo llamado xcode-cookie que contiene la misma información que el archivo cookies.txt que me da wget, excepto que las líneas están invertidas.

Luego intenté descargar el archivo .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

Esto me da un archivo llamado 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 , que es solo una página HTML que contiene el formulario de inicio de sesión para el sitio del desarrollador.

Usando 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

Que imprime básicamente lo mismo que wget (menos el HTML).

Quiero decir que tiene que ver con que sessionToken no está en la cookie, pero como dije antes no estoy seguro. Incluso traté de exportar las cookies desde mi navegador y siguiendo las instrucciones en la publicación de blog que he vinculado a continuación y en varios otros sitios que encontré mientras buscaba ayuda.

Debo estar haciendo algo mal, a menos que Apple haya cambiado algo desde el 10 de octubre porque este tipo parece hacer algo bien .

¡Gracias por adelantado!


Acabo de seguir por el mismo camino después de no poder descargar la última versión de Xcode directamente en mi máquina de desarrollo Mac. Tampoco pude lograr que el enfoque de Daniel funcionara exactamente como está escrito.

Esto es lo que funcionó para mí:

  1. Utiliza Firefox para iniciar sesión en el centro de desarrollo de iOS

  2. Usé Cookie Exporter 1.5 para guardar las cookies en un archivo de texto, diga "cookies.txt"

  3. FTP''d cookies.txt a un servidor de puesta en escena mío que tiene un buen tubo gordo en Internet

  4. Se usó wget del servidor de transferencia para descargar el archivo (aproximadamente 5 minutos)

  5. Utilicé FTP para transferir el archivo DMG a mi máquina dev (aproximadamente 2 horas)

Aquí está la línea de comando de wget:

wget --cookies=on --load-cookies=cookies.txt --keep-session-cookies --save-cookies=cookies.txt http://adcdownload.apple.com/ios/ios_sdk_4.1__final/xcode_3.2.4_and_ios_sdk_4.1.dmg

El truco aquí es NO usar el enlace de descarga desde la página, sino iniciar la descarga y luego usar el menú contextual en la lista de descargas para "Copiar enlace de descarga".


Aquí hay un pequeño script bash para wget Xcode:

#!/bin/bash export ID=YourAppleID export PW=YourPW [ -f cookies ] && rm cookies && touch cookies 2>Header / wget / -S / -O R1 / http://developer.apple.com/ios/download.action?path=/ios/ios_sdk_4.2__final/xcode_3.2.5_and_ios_sdk_4.2_final.dmg tac Header | grep Location LOCATION=$(grep Location Header | sed -E ''s/^ *Location: ([^/]+:////[^/]+)//.*$//1/'') [ -z "$LOCATION" ] && { echo "Bad day for LOCATION...";exit;} || echo "LOCATION=$LOCATION" rm Header ACTION=$(grep action R1 | sed ''s/^.*action="//;s/".*$//'') [ -z "$ACTION" ] && { echo "Bad day for ACTION...";exit;} || echo "ACTION=$ACTION" POST=$( grep input R1 | sed ''s/<input// <input/g'' | grep input | sed ''s/^.*name="//'' | sed ''s/".*value="/=/;s/".*$//'' | sed ''/=/!s/$/=/'' | sed ''/theAccountName/s/$/''$ID''/;/theAccountPW/s/$/''$PW''/'' | sed ''/=$/d'' | sed -n ''1h;1!H;${x;s/[[:space:]]//&/g;p;}'' | sed ''s/$//&1.Continue.x=0/&1.Continue.y=0/'') [ -z "$POST" ] && { echo "Bad day for POST...";exit;} || echo "POST=$POST" 2>Header / wget / -S / --save-cookies cookies / --keep-session-cookies / -O R2 / --post-data="$POST" / $LOCATION/$ACTION URL=$( grep -i REFRESH R2 | sed ''s/^.*URL=//;s/".*$//'' ) [ -z "$URL" ] && { echo "Bad day for URL...";exit;} || echo "URL=$URL" wget / -S / --load-cookies cookies / $URL & sleep 1; rm R1 R2 Header cookies

Los comentarios son los mismos que para Joe''s Solution - Thnx Joe; o) La buena idea es comenzar el análisis del tráfico desde la URL de descarga de Xcode.


Aquí hay una secuencia de comandos que utiliza curl en lugar de wget, por lo que funcionará en una Mac común. Todo lo que necesita establecer es la ruta al archivo xcode DMG. El script le pedirá su nombre de usuario y contraseña, y le indicará los valores de ACCIÓN y WOSID.

#!/bin/sh # Change this line to the URI path of the xcode DMG file. XCODE_PATH="/ios/ios_sdk_4.2__final/xcode_3.2.5_and_ios_sdk_4.2_final.dmg" echo "Enter your Apple Dev Center username." read -p "> " USERNAME echo "Enter your Apple Dev Center password." read -p "> " PASSWORD curl / -L -s -k / --cookie-jar cookies / -A "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1) Gecko/20090624 Firefox/3.5" / https://developer.apple.com/devcenter/ios/login.action / -o login.html ACTION=$(sed -n ''s/.*action="/(.*/)".*//1/p'' login.html) WOSID=$(sed -n ''s/.*wosid" value="/(.*/)".*//1/p'' login.html) echo "action=${ACTION}" echo "wosid=${WOSID}" curl / -s -k --cookie-jar cookies --cookie cookies / -A "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1) Gecko/20090624 Firefox/3.5" / -e ";auto" "https://daw.apple.com${ACTION}?theAccountName=${USERNAME}&theAccountPW=${PASSWORD}&theAuxValue=&wosid=${WOSID}&1.Continue.x=0&1.Continue.y=0" / > /dev/null curl / -L --cookie-jar cookies --cookie cookies / -A "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1) Gecko/20090624 Firefox/3.5" / -O https://developer.apple.com/ios/download.action?path=${XCODE_PATH} rm login.html rm cookies


Así que parece que descubrí la respuesta a mi propia pregunta. A continuación, le mostramos cómo puede descargar Xcode usando curl.

Primero, ejecuta esto:

curl / -L -s -k / --cookie-jar cookies / -A "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1) Gecko/20090624 Firefox/3.5" / https://developer.apple.com/devcenter/ios/login.action / -o login.html

Abra el archivo login.html que se creó y busque estas 2 cosas:

  • El atributo de action del formulario de inicio de sesión. Debería estar en / alrededor de la línea 54.
  • El campo de input llamado wosid . Esto debería estar en / alrededor de la línea 129.

Copie el valor del atributo de action así como el valor del atributo de value del campo de entrada. Lo necesitarás para el siguiente paso.

Aquí está el siguiente comando curl:

curl / -s -k --cookie-jar cookies --cookie cookies / -A "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1) Gecko/20090624 Firefox/3.5" / -e ";auto" "https://daw.apple.com{ACTION}?theAccountName={USERNAME}&theAccountPW={PASSWORD}&theAuxValue=&wosid={WOSID}&1.Continue.x=0&1.Continue.y=0" / > /dev/null

  • Reemplace {ACTION} con el valor de acción que guardó
  • Reemplace {USERNAME} y {PASSWORD} con sus credenciales de Apple Dev Center
  • Reemplace {WOSID} con el valor wosid que guardó
  • Ejecuta el comando

Ahora debería tener la cookie que le permitirá descargar el archivo .dmg. Si no lo ha notado, la cookie se almacena en un archivo llamado cookies .

Ahora ejecute este último comando curl y la imagen Xcode debería comenzar a descargarse:

curl / -L --cookie-jar cookies --cookie cookies / -A "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1) Gecko/20090624 Firefox/3.5" / -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

Intenté esto en 2 máquinas diferentes y trabajo en ambas.


No es óptimo, pero funciona para mí:

Si conoce la URL directa para descargar (por ejemplo, comenzó la descarga), entonces puede iniciar sesión en el portal del desarrollador y ejecutar el siguiente JS en la consola:

copy(''wget -c http://adcdownload.apple.com//Developer_Tools/xcode_6_beta_5_za4gu6/xcode_6_beta_5.dmg --header="Cookie:'' + document.cookie + ''"'')

Esto copiará el comando wget en el portapapeles con todas las cookies necesarias para que wget funcione. Puede reiniciar este comando en cualquier momento para continuar.



Tal vez esta es la forma más fácil de usar Curl:

  • abrir Google Chrome.app ;
  • ir al sitio developer.apple.com ;
  • presione CMD + SHIFT + J o haga clic en el ícono de Menu arriba a la derecha -> Tools -> Developer Tools ;
  • haga clic en el panel de Network ;
  • ahora haga clic en el enlace de descarga de Xcode en apple.com;
  • verá uno o más registros de solicitud en el panel Network ;
  • haga clic con el botón derecho en el último registro, luego haga clic en Copy as cURL ;

Ahora, tienes el comando curl para este enlace de descarga con cookies y otros campos http-requeset, simplemente pega en tu terminal y agrega -o xxx.dmg al final.