java http 压缩,解压缩GZIP http-response(使用jersey client api,java)

Could someone tell me what I need to do in order to uncompress a GZIP content when getting the response from some Http-call.

To make the call I use the Jersey Client API, see code below:

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);

However the output is GZIP’d and looks like:

{J?J??t??`$?@??????....

It would be good if I could implement the following:

being able to detect whether content is GZIP’d or not;

If not, process like normal in a String; if, so uncompress and get the content in String

解决方案

Simply add GZIPContentEncodingFilter to your client:

client.addFilter(new GZIPContentEncodingFilter(false));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值