Baixe o ISO do Windows da Microsoft usando wget ou curl

Baixe o ISO do Windows da Microsoft usando wget ou curl

Objetivo: baixar a iso oficial do Win10_1909 no Linux diretamente via linha de comando

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

Depois de selecionar a edição e o idioma, você obtém links de 64 bits como a seguir, 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

Isso funciona bem em qualquer navegador GUI ou em qualquer plataforma, mas precisamos disso em uma caixa Linux

  • servidor linux é claro menos gui (não pretendo instalar gui)
  • wget/curl resulta em um download de arquivo html proibido
  • Alterando o agente do usuário para Firefox no wget/curl ou adicionando carga útil personalizada como curl -d '{"t": 77e897e2-a32c-419c-8f18-54770dbb5a15,"e": 1583942596,"h": 595f691df8f7e4088d24b6cc37077d1a}' . arquivo iso retorna uma página proibida
  • tentei gerenciadores de download baseados em Linux como aria e axel, mas também falhou, proibido

Como fazer isso apenas via linha de comando?

Responder1

É proibido porque existem caracteres especiais na url que são interpretados pelo shell. Existe, por exemplo, '?' e '&'. Agora dê uma olhada no seu URL de exemplo:

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

Isso vai:

  1. inicie um subshell que realmente fez o seguinte:
curl --location --remote-name https://software-download.microsoft.com/pr/Win10_1909_English_x64.iso?t=77395428-650e-4e5c-8bcc-97abca347eaa
  1. inicia um subshell onde uma variável 'e' recebe o valor '1583937294'
  2. No seu ambiente shell atual, haverá uma variável 'h' atribuída com o valor '2b05fad63d3a6e2a0c4a20cb49f34e7c'

Como corrigi-lo? - Simples, basta adicionar aspas simples ao redor do URL:

curl --location --nome-remoto 'https://software-download.microsoft.com/pr/Win10_1909_English_x64.iso?t=77395428-650e-4e5c-8bcc-97abca347eaa&e=1583937294&h=2b05fad63d3a6e2a0c4a20cb49f34e7 c'

Responder2

Finalmente encontrei uma solução e não há extensão necessária no Firefox.

Após obter a URL recebida, abra uma nova aba no Firefox e abra as Ferramentas do Desenvolvedor (F12). Mude para a guia Rede e insira o URL para download. Clique em cancelar quando for solicitado o download.

Haverá uma solicitação GET agora em Rede; clique com o botão direito e selecione Copy > Copy as cURL. Cole esta string enorme em seu terminal e adicione -o [/path/filename]para realmente salvar o arquivo em algum lugar, em vez de despejá-lo em STDOUT. É isso!


Em um navegador baseado em Chromium, na página de download da Microsoft depois de criar o "Download de 32 bits" e o "botão de download de 64 bits". Abra as Ferramentas do Desenvolvedor e mude para a guia Rede (deve estar vazia). clique no botão de download de 32 ou 64 bits. Deve abrir uma caixa de diálogo salvar como, cancele-a. Clique com o botão direito do mouse no novo URL listado na guia Rede,cópia de->Copiar como Curl Em seguida, cole-o nas janelas do terminal e anexe o -o [/path/filename]valor. (ex -o Win10_20H2_v2_English.iso) e o download deve começar.

Responder3

Criei uma ferramenta para automatizar todo o processo chamada Mido:

https://github.com/ElliotKillick/Mido

informação relacionada