HTML 文档为 .zip 文件,无法解压

HTML 文档为 .zip 文件,无法解压

我正在从网站下载一个 ZIP 文件,该 ZIP 文件包含大量 JSON 和 XML 文件,然后我尝试解压这些文件。

我遇到的问题是解压不想解压文件:

unzip meta.zip
Archive:  meta.zip
  End-of-central-directory signature not found.  Either this file is not
  a zipfile, or it constitutes one disk of a multi-part archive.  In the
  latter case the central directory and zipfile comment will be found on
  the last disk(s) of this archive.
unzip:  cannot find zipfile directory in one of meta.zip or
        meta.zip.zip, and cannot find meta.zip.ZIP, period.

7z 也有同样的问题:

7z x meta.zip

7-Zip [64] 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=de_DE.UTF-8,Utf16=on,HugeFiles=on,12 CPUs)

Processing archive: meta.zip

Error: Can not open file as archive

由于某种原因,文件本身被识别为 HTML 文档:

file meta.zip
meta.zip: HTML document, UTF-8 Unicode text, with very long lines

我的问题是,如何解压这个文件? Mac 和 Windows 都可以正常解压。

谢谢!

答案1

我想你已经回答了你自己的问题。如果file告诉您这是一个 HTML 文件,这就是为什么zip无法打开它 - 它是 HTML,而不是包含 HTML 文件的 ZIP 文件。文件里有什么? (您可以使用例如 进行检查less)。

答案2

也许档案真的被损坏了。

请参阅 zip 的手册页,了解用于修复存档的 --fix + --fixfix 选项。

多次使用--fixfix 可以修复此类损坏。

答案3

我几乎可以肯定您手上有一个文本文件。这只是重定向到真正的 zip 文件。file(据我所知)相当可靠。除此之外,less meta.zip总会产生输出: Archive: meta.zip meta.zip (END)

因此,这不是确定文件类型的可靠方法,因为它仅依赖于扩展名。

要提取文件,只需使用 Firefox 等网络浏览器重新下载存档,然后执行unzip meta.zip访问存档的内容即可。

答案4

您可以尝试使用foremost或binwalk来提取文件的内容。尝试“最前面的文件名”或“binwalk -e 文件名”。您可以使用包管理器(通常是 yum 或 apt)安装它(如果没有)。

相关内容