使用XMLHttpRequest http请求无法处理服务器gzip压缩

客户端请求时给xhr对象设置了header, xhr.setRequestHeader(“Accept-Encoding”, “gzip,deflate”);

但是收到服务器压缩过的数据时,responseText读取出来内容为空。

请问XMLHttpRequest怎么处理服务器响应的gzip压缩后的数据?

这里有个同样问题的帖子,http://forum.cocos.com/t/cocos2d-js-3-6-xmlhttprequest-gzip/28514
参考过这个帖子,http://blog.csdn.net/rapig/article/details/22892133 , 大意是要在HttpClient configureCURL方法里加一句,尝试后还是不行的。

补充一点详细信息:
使用的是cocos creator 1.5.1,cocos2d-x版本为3.9


查看HttpClient.cpp使用的curl版本为
看样子这个版本的libcurl没zlib?
是否要自己重新编译一个带zlib支持的libcurl?
目前发现android平台上可以正确解压的,是windows平台不行

@panda @jare @natural-law

服务端有开启 gzip 支持吗?

开启了的。使用fiddler看了确实是压缩过的。另外我在android上测试了下app是可以解压的。目前是在windows平台上不行

那可能是特定浏览器的兼容问题吧,建议搜看看

和浏览器无关,是在windows桌面版本上跑解压不了gzip, 我怀疑是windows版本的libcurl没有zlib支持,可能要自己重新编译一个带zlib的libcurl

说了半天,原来是 cocos2d-x 3.9 ,发错板块啦,我还以为是浏览器

好,我把帖子转到cocos2dx版块