javajerseygzipjersey-1.0

Uncompress GZIP http-response (using 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:


Solution

  • Simply add GZIPContentEncodingFilter to your client:

    client.addFilter(new GZIPContentEncodingFilter(false));