wget não salva o arquivo após o download

4

Então, atualmente, estou usando o comando wget no windows 10 powershell para baixar vários arquivos. No entanto, ao testar esse comando, os arquivos não são realmente baixados.

Por exemplo, digamos que eu queira baixar uma imagem, diga link , eu usaria o seguinte comando:

PS C:\Users\myname\Desktop> wget https://picsum.photos/200

Que retorna um resultado aparentemente bem-sucedido:

StatusCode        : 200
StatusDescription : OK
Content           : {255, 216, 255, 224...}
RawContent        : HTTP/1.1 200 OK
                Access-Control-Expose-Headers: Content-Length
                Content-Disposition: inline;filename=""
                Vary: Origin
                Access-Control-Allow-Origin: *
                X-Content-Type-Options: nosniff
                X-XSS-Protection...
Headers           : {[Access-Control-Expose-Headers, Content-Length], [Content-Disposition, inline;filename=""],
                [Vary, Origin], [Access-Control-Allow-Origin, *]...}
RawContentLength  : 31273

Quando esse processo terminar, não observarei nenhum arquivo novo na minha área de trabalho.

No entanto, este código funciona:

wget https://picsum.photos/200 -O image.jpg

Então, o que está acontecendo? Por que o wget sozinho não faz o download do arquivo?

    
por Thessentials 19.04.2017 / 18:14

1 resposta

9

A implementação do Powershell de wget não é wget . Portanto, ele não se comporta como o utilitário UNIX / Linux wget .

Como apontado por user4556274, Powershell usa wget e curl como aliases para seus próprios Invoke-WebRequest .

Observando isso (ou executando Get-Help wget em Powershell), é possível ver que -O [filename] é uma abreviação aceitável para -Output [filename] e que Invoke-WebRequest [URI] retorna um objeto que representa uma página da Web em vez de escrever um arquivo com o nome da base da URL.

Assim, isso retorna "nada", a menos que você o atribua a uma variável ou canalize-a para outro comando:

wget http://example.net/path/to/page.html

Mas isso fornece uma página da web "como esperado":

wget http://example.net/path/to/page.html -O page.html
    
por 19.04.2017 / 18:30