【问题标题】:zlib Z_DATA_ERROR "invalid code lengths set"zlib Z_DATA_ERROR "无效的代码长度集"
【发布时间】:2014-02-07 01:58:27
【问题描述】:

它曾经工作过。我有一个程序可以获取并膨胀 gzip 压缩的 facebook 页面数据。 我收到的数据最近发生了一些变化,因此在通货膨胀的一部分中,我收到一条错误 Z_DATA_ERROR 并显示消息“无效的代码长度设置” 如果我尝试使用 inflateSync 进行恢复,再次尝试 inflate 时,我会立即再次收到数据错误。

压缩后的数据是here

查看其他网站我没有收到此错误,这可能是 Facebook 的 gzip 压缩特有的问题

这让我尴尬了很长时间,我非常想知道如何解决它,如果浏览器处理得很好,我会假设数据没有问题。

【问题讨论】:

  • 您确定它没有损坏吗?该数据使我机器上的 zlib 实用程序崩溃。
  • 也许提供一些您从哪里获得这些数据的信息会很有用,浏览器处理得很好是什么意思?
  • 我看不出它是如何损坏的……它来自 facebook 服务器。使用openSSL我得到了分块的HTTP,将它粘在一起然后使用inflateInit2(&strm, 16+MAX_WBITS); ... 膨胀(&strm, Z_FINISH);

标签: c gzip zlib inflate


【解决方案1】:

您发布的压缩数据已损坏。您的分块可能有错误。

【讨论】:

  • 您能补充更多细节吗?
  • 就是这样。
猜你喜欢
  • 2020-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-07
相关资源
最近更新 更多