Un peu confus au sujet de HttpClient[Java] manipulation gzip réponses

Mon application effectue une requête http à certaines api de service, le service renvoie un format de réponse. Comment puis-je m'assurer que la réponse est en effet dans gzip format? Je ne comprends pas pourquoi après avoir fait la demande, je n'ai pas à le décompresser.

Ci-dessous mon code:

public static String streamToString(InputStream stream) {
    BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
    StringBuilder sb = new StringBuilder();
    String line;

    try {
        while ((line = reader.readLine()) != null) {
            sb.append(line).append("\n");
        }
    } catch (IOException e) {
        logger.error("Error while streaming to string: {}", e);
    } finally {
        try { stream.close(); } catch (IOException e) { }
    }

    return sb.toString();
}

public static String getResultFromHttpRequest(String url) throws IOException { //add retries, catch all exceptions
    HttpClient httpclient = new DefaultHttpClient();
    HttpGet httpGet;
    HttpResponse httpResponse;
    InputStream stream;

    try {
        httpGet = new HttpGet(url);
        httpGet.setHeader("Content-Encoding", "gzip, deflate");
        httpResponse = httpclient.execute(httpGet);
        logger.info(httpResponse.getEntity().getContentEncoding());
        logger.info(httpResponse.getEntity().getContent());
        if (httpResponse.getStatusLine().getStatusCode() == 200) {
            stream = httpResponse.getEntity().getContent();
            return streamToString(stream);
        }
    } catch (IllegalStateException e) {
        logger.error("Error while trying to access: " + url, e);
    }

    return "";
}

Peut-être qu'il se décompresse automatiquement, mais je voudrais voir quelques signes de cette à moins.

double possible de Apache Commons HttpClient soutien GZIP?
un peu, mais pas exactement.
Si l'environnement le permet, un très vérification rapide pourrait avoir été la capture de trafic (Wireshark, Tcpdump...) entre l'application et le serveur. Que HTTP est un texte basé sur le protocole, si la réponse a le droit d'en-tête et le corps est composé principalement de la non-caractères lisibles, il semble que la réponse est compressé.

OriginalL'auteur iCodeLikeImDrunk | 2014-01-31