Javascript Python zlib gzip解压缩失败,通过pako在客户端压缩字符串

Javascript Python zlib gzip解压缩失败,通过pako在客户端压缩字符串,javascript,python,compression,gzip,zlib,Javascript,Python,Compression,Gzip,Zlib,我想在服务器端(使用Python的zlib)解压一个JSON对象,我用JS库在浏览器中压缩了这个JSON对象。压缩字符串通过XHR发送到服务器。 不幸的是,服务器端Python应用程序失败了 解压缩时出现错误-3:标头检查不正确 我用于客户端压缩的代码: var json=json.stringify(数据); 变量zlibOpts={ 级别:9, 致:“字符串” }; data=pako.gzip(json,zlibOpts); 服务器端代码: zlib_window_size = 31 r

我想在服务器端(使用Python的zlib)解压一个JSON对象,我用JS库在浏览器中压缩了这个JSON对象。压缩字符串通过XHR发送到服务器。 不幸的是,服务器端Python应用程序失败了

解压缩时出现错误-3:标头检查不正确

我用于客户端压缩的代码:

var json=json.stringify(数据);
变量zlibOpts={
级别:9,
致:“字符串”
};
data=pako.gzip(json,zlibOpts);
服务器端代码:

zlib_window_size = 31
result = zlib.decompressobj().decompress(data, zlib_window_size)
我发现
windowBits
对于zlib识别被gzip压缩的字符串非常重要(如上所述和),因此我使用了paco用于压缩的字符串(
31

我还尝试了在Python中不使用任何
windowBits
zlib.MAX|WBITS | 16
zlib.MAX|WBITS | 32
的情况下使用,结果失败,出现了相同的错误

服务器端应用程序正在Tornado上运行


非常感谢任何帮助/提示

zlib\u窗口大小从
decompress()
移动到
decompressobj()
。或者干脆去掉
decompressobj()
。一次调用
decompress()

就不需要它了,谢谢。将
31
作为
window\u size
参数提供给
decompressobj()
不知何故成功了。