【发布时间】:2011-04-25 07:56:45
【问题描述】:
应该使用什么 InputStream 类型来处理 HTTP Content-Encoding 设置为 deflate 的 URLConnection 流?
对于 gzip 或 zip 的内容编码,我使用 GZIPInputStream,没问题。
对于“deflate”的内容编码,我尝试使用 InflaterInputStream 和 DeflaterInputStream 但我得到了
java.util.zip.ZipException:未知 压缩法 在 java.util.zip.InflaterInputStream.read(InflaterInputStream.java:147)
我的理解是“deflate”编码是指Zlib压缩,根据docs这应该由InflaterInputStream处理。
【问题讨论】:
-
天哪,我遇到了同样的情况。原始 deflate 没有一个标题,所以没有办法知道它是什么。我以为我的代码不正确,检查检查检查......该死的。在此之后,我建议使用存档管理器来支持解码原始 deflate 数据,这样我就可以尝试使用存档管理器打开它,我会知道“哦!我的代码很好!这就是 deflate!”。
标签: java http http-compression content-encoding