wget transfere arquivos JPEG corrompidos

3

Estou tentando usar o wget para baixar automaticamente um papel de parede. Aqui está o comando:

wget http://static.die.net/earth/mercator/1600.jpg

No entanto, se eu tentar abrir a imagem resultante, parece dizer que tem um número mágico ruim. Ao executar file 1600.jpg , recebo 1600.jpg: GIF image data, version 89a, 1 x 1 . Se eu abri-lo como um GIF, ele também não funciona. São apenas 37 bytes também.

Funciona perfeitamente bem se o visualizar ou descarregar através do Firefox.

Alguma idéia?

    
por rovaughn 05.02.2011 / 17:36

1 resposta

6

Acho que é algum tipo de proteção contra downloads diretos, nada de errado com wget (o servidor está enviando uma imagem GIF transparente de 1x1).

Você pode contornar isso usando wget com o sinal -U , adicionando a string de agente do usuário do seu navegador, por exemplo:

wget -U "Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.17 (KHTML, like Gecko) Ubuntu/11.04 Chromium/11.0.654.0 Chrome/11.0.654.0 Safari/534.17" http://static.die.net/earth/mercator/1600.jpg

MAS : você deve primeiro perguntar ao proprietário do site se está tudo bem baixar o conteúdo dessa maneira. Tem que haver uma razão pela qual a abordagem usual de wget é bloqueada (talvez seja intencional, talvez seja apenas uma configuração incorreta).

    
por htorque 05.02.2011 / 18:07

Tags