I'm using Apache HTTPClient 4.5.3 to make some HTTP requests, but I am getting a gzipped response back I have tried many things I found online but non of them worked. I still get gibberish when I print the response. Below are the relevant code. What do I need to do to get a human readable response?
static public CloseableHttpClient CreateHttpClient() { // return // HttpClients.custom().disableAutomaticRetries().setHttpProcessor(HttpProcessorBuilder.create().build()) // .build(); return HttpClientBuilder.create().disableAutomaticRetries() .setHttpProcessor(HttpProcessorBuilder.create().build()).build(); } static public RequestConfig GetConfig() { return RequestConfig.custom().setSocketTimeout(READTIMEOUT).setConnectTimeout(CONNECTTIMEOUT) .setConnectionRequestTimeout(REQUESTTIMEOUT).build(); } static public String updates() { String result = ""; String url = "https://example.com"; CloseableHttpClient httpClient = CreateHttpClient(); CloseableHttpResponse response = null; URL urlObj; RequestConfig config = GetConfig(); try { urlObj = new URL(url); HttpPost request = new HttpPost(url); request.setConfig(config); StringEntity params = new StringEntity("example"); request.addHeader("Accept-Language", "en"); request.addHeader("Content-Type", "application/json; charset=UTF-8"); request.addHeader("Content-Length", String.valueOf(params.getContentLength())); request.addHeader("Host", urlObj.getHost()); request.addHeader("Connection", "Keep-Alive"); request.addHeader("Accept-Encoding", "gzip"); request.setEntity(params); response = httpClient.execute(request); int responseCode = response.getStatusLine().getStatusCode(); System.out.println("updates response code: " + responseCode); // BufferedReader rd = new BufferedReader(new // InputStreamReader(response.getEntity().getContent(), "UTF-8")); result = EntityUtils.toString(response.getEntity()); // String line = ""; // while ((line = rd.readLine()) != null) { // result.append(line); // } } catch (Exception e) { e.printStackTrace(); } finally { try { if (response != null) response.close(); httpClient.close(); } catch (IOException e) { e.printStackTrace(); } } return result; }