wget 无法下载图像

wget 无法下载图像

可能重复:
wget 下载损坏的 JPEG 文件

我正在尝试编写一个脚本,以便可以设置这个图片作为背景并每 10 分钟更新一次,但我甚至无法下载图像:

$ wget "http://static.die.net/earth/mercator/1600.jpg" -O imagen.jpg


--2012-08-23 17:51:41--  http://static.die.net/earth/mercator/1600.jpg
Solving static.die.net (static.die.net)... 209.151.236.22, 2607:f820:42::16
Connecting with static.die.net (static.die.net)[209.151.236.22]:80... connected.
HTTP Request sent, waiting reply... 200 OK
Length: 37 [image/gif]
Saving to: “imagen.jpg”

100%[======================================>] 37          --.-K/s   en 0s      

2012-08-23 17:51:42 (5,58 MB/s) - “imagen.jpg” saved [37/37]

并且imagen.jpg的大小为37字节......

任何想法?

注意:输出的wget是西班牙语,所以我翻译成英语。

答案1

这张图片也是 Wallch 程序的一个功能。正如这里提到的:http://wall-changer.sourceforge.net/screenshots.phpWallch 使用第三方图像托管商来提供此图像,以保护 static.die.net 的带宽。

因此,如果您想将此图像作为背景,您可以去下载 Wallch(位于 Ubuntu 软件中心)。

顺便说一下,图像每 30 分钟更新一次,而不是每 10 分钟更新一次。

答案2

它看起来像是在悄悄地将您重定向到一张恰好是空的 gif 图像。这是 CDN 用来阻止人们使用类似 的工具进行抓取的一种简单策略wget

不幸的是(对于他们来说)wget允许您欺骗另一个用户代理字符串,如下所示:

wget -U 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1' http://static.die.net/earth/mercator/1600.jpg

但您可能应该将他们的空图像响应解读为“请不要在我们的服务器上使用 wget”。这可能在他们的服务条款中。

相关内容