我想解压缩服务器上的JSON对象(使用Python的zlib),我在浏览器中使用JS库pako对其进行了解压缩。压缩的字符串通过XHR发送到服务器。 不幸的是,服务器端Python应用程序失败了
解压缩时出错-3:错误的标题检查
我用于客户端压缩的代码:
/Users/tim/.profile
服务器端代码:
var json = JSON.stringify(data);
var zlibOpts = {
level: 9,
to: 'string'
};
data = pako.gzip(json, zlibOpts);
我发现zlib_window_size = 31
result = zlib.decompressobj().decompress(data, zlib_window_size)
对于zlib将字符串识别为gzip压缩(如in this thread和zlib docs所述)非常重要所以我使用的是paco使用的相同内容压缩(windowBits
)。
我在Python中没有任何31
和windowBits
或zlib.MAX_WBITS|16
的情况下尝试过,但是失败并出现同样的错误。
服务器端应用程序正在Tornado上运行。
非常感谢任何帮助/提示!
答案 0 :(得分:1)
将zlib_window_size
从decompress()
移至decompressobj()
。或者只是摆脱decompressobj()
。只需拨打一次decompress()
,就不需要它。