有人可以告诉我在从某些 Http 调用获取响应时需要做什么才能解压缩 GZIP 内容吗?
为了进行调用,我使用 Jersey Client API,请参阅下面的代码:
String baseURI = "http://api.stackoverflow.com/1.1/answers/7539863?body=true&comments=false";
ClientConfig config = new DefaultClientConfig();
Client client = Client.create(config);
WebResource wr = client.resource(baseURI);
ClientResponse response = null;
response = wr.get(ClientResponse.class);
String response_data = response.getEntity(String.class);
System.out.println(response_data);
然而输出是 GZIP 的,看起来像:
{J?J??t??`$?@??????....
如果我能实现以下内容那就太好了:
- 能够检测内容是否经过 GZIP 压缩;
- 如果不是,则像普通字符串一样处理; if, so 解压得到String中的内容
只需添加GZIP内容编码过滤器 http://jersey.java.net/nonav/apidocs/latest/jersey/com/sun/jersey/api/client/filter/GZIPContentEncodingFilter.html致您的客户:
client.addFilter(new GZIPContentEncodingFilter(false));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)