Descargue Windows ISO desde Microsoft usando wget o curl

Descargue Windows ISO desde Microsoft usando wget o curl

Objetivo: descargar la ISO oficial de Win10_1909 en Linux directamente a través de la línea de comando

Fuente:https://www.microsoft.com/en-in/software-download/windows10ISO

Después de seleccionar la edición y el idioma, obtendrá enlaces de 64 bits como los siguientes, válidos por 24 horas

https://software-download.microsoft.com/pr/Win10_1909_English_x64.iso?t=77395428-650e-4e5c-8bcc-97abca347eaa&e=1583937294&h=2b05fad63d3a6e2a0c4a20cb49f34e7c

Esto funciona bien a través de cualquier navegador GUI o cualquier plataforma, pero lo necesitamos en una caja de Linux.

  • El servidor Linux, por supuesto, no tiene GUI (no tengo intención de instalar GUI)
  • wget/curl da como resultado una descarga de archivo html prohibida
  • Cambiar el agente de usuario a Firefox en wget/curl o agregar una carga útil personalizada como curl -d '{"t": 77e897e2-a32c-419c-8f18-54770dbb5a15,"e": 1583942596,"h": 595f691df8f7e4088d24b6cc37077d1a}' y solicitar el archivo . El archivo iso devuelve una página prohibida.
  • Probé administradores de descargas basados ​​en Linux como aria y axel, y también falla, prohibido.

¿Cómo lograr esto solo a través de la línea de comando?

Respuesta1

Está prohibido porque hay caracteres especiales en la URL que son interpretados por el shell. Hay, por ejemplo, '?' y '&'. Ahora eche un vistazo a su URL de ejemplo:

curl --ubicación --remote-name https://software-download.microsoft.com/pr/Win10_1909_English_x64.iso?t=77395428-650e-4e5c-8bcc-97abca347eaa&e=1583937294&h=2b05fad63d3a6e2a0c4a20cb49f34e7c

Esta voluntad:

  1. inicie una subcapa que realmente hizo lo siguiente:
curl --ubicación --nombre-remoto https://software-download.microsoft.com/pr/Win10_1909_English_x64.iso?t=77395428-650e-4e5c-8bcc-97abca347eaa
  1. iniciar una subcapa donde a una variable 'e' se le asigna el valor '1583937294'
  2. En su entorno de shell actual habrá una variable 'h' asignada con el valor '2b05fad63d3a6e2a0c4a20cb49f34e7c'

¿Como arreglarlo? - Sencillo, simplemente agregue comillas simples alrededor de la URL:

curl --ubicación --nombre-remoto 'https://software-download.microsoft.com/pr/Win10_1909_English_x64.iso?t=77395428-650e-4e5c-8bcc-97abca347eaa&e=1583937294&h=2b05fad63d3a6e2a0c4a20cb49f34e7c '

Respuesta2

Finalmente encontré una solución y no se necesita ninguna extensión en Firefox.

Después de obtener la URL que recibió, abra una nueva pestaña en Firefox y abra Herramientas de desarrollador (F12). Cambie a la pestaña Red e ingrese la URL para la descarga. Presiona cancelar cuando te solicite descargar.

Ahora habrá una solicitud GET en Red; haga clic derecho y seleccione Copy > Copy as cURL. Pegue esta cadena masiva en su terminal y agréguela -o [/path/filename]para guardar el archivo en algún lugar en lugar de volcarlo en STDOUT. ¡Eso es todo!


En un navegador basado en Chromium, en la página de descarga de Microsoft después de haber creado el "botón de descarga de 32 bits" y el "botón de descarga de 64 bits". Abra Herramientas de desarrollador, luego cambie a la pestaña Red (debe estar vacía). haga clic en el botón de descarga de 32 o 64 bits. Debería aparecer un cuadro de diálogo para guardar como, cancélelo. Haga clic con el botón derecho del mouse en la nueva URL que aparece en la pestaña Red,Copiar->Copiar como rizo Luego péguelo en las ventanas de la terminal y agregue el -o [/path/filename]valor. (ej -o Win10_20H2_v2_English.iso.) y debería comenzar a descargarse.

Respuesta3

Creé una herramienta para automatizar todo el proceso llamada Mido:

https://github.com/ElliotKillick/Mido

información relacionada