使用 wget 下载的图像大小为 4 个字节

标签 image http unix curl wget

我在下载某些图片时遇到问题。

我正在尝试下载图像并将其保存在磁盘上。

这是我正在使用的 wget 命令,它几乎适用于所有图像。 (上面的代码适用于此 url)

wget -O test.gif http://www.fmwconcepts.com/misc_tests/animation_example/lena_anim2.gif

差不多,因为当我尝试从这个 url 下载图像时:http://sklepymuzyczne24.pl/_data/ranking/686/e3991/ranking.gif

它失败了。下载的文件大小为 4 个字节。我尝试使用 curl 而不是 wget 来执行此操作,但结果是一样的。

我认为第二张图片(不起作用的一张)可能是以某种方式生成的(图片会自动更改,具体取决于商店评论)。我相信它与这个问题有关。

最佳答案

看起来像是服务器端的某种错误配置。除非您指定接受 gzip 压缩内容,否则它不会返回图像。现在大多数网络浏览器默认执行此操作,因此图像在浏览器中工作正常,但对于 wget 或 curl,您需要手动添加 accept-encoding header 。这样您将获得 gzip 压缩图像。然后您可以将其通过管道传输到 gunzip 并获得正常的未压缩图像。

您可以使用以下方式保存图像:

wget --header='Accept-Encoding: gzip' -O- http://sklepymuzyczne24.pl/_data/ranking/686/e3991/ranking.gif | gunzip - > ranking.gif

关于使用 wget 下载的图像大小为 4 个字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42418468/

相关文章:

C#:将多个图像保存到一个文件中

javascript - 每次刷新页面时,如何将 JavaScript 文件中数组中的随机图像加载到 HTML 中?

javascript - 加载后重新加载图像(jquery/javascript)

css - ASP.NET MVC Html.ActionLink CSS 背景图片

http - OpenStack Swift 无法使用批量操作自动提取 tar 文件

java - 如何在 Java 中调用 soap 服务?

http - URL 真的可以被认为是 HTTP 响应的唯一键吗? - 第2部分

macos - 在 Unix 中查找具有特定扩展名的所有文件?

c - 基于 Unix 的操作系统 : Coding Bug

linux - 构建 Ascii 艺术图