Descomprimir GZIP

Me gustaría saber qué se supone que debo hacer en el caso de una respuesta codificada con gzip. Este es el método que maneja mis respuestas:

private InputStream getResultStream(Response response) throws IOException
{
    InputStream resultStream = null;
    if(response != null)
    {
        String encoding = response.getHeader("Content-Encoding");
        if((encoding != null) && (encoding.equalsIgnoreCase("gzip")))
        {
            // What to do here ?
            Log.d("Stream :", "Read GZIP");

        } else if ((encoding != null) && encoding.equalsIgnoreCase("deflate")) {
            resultStream = new InflaterInputStream(response.getStream(), new Inflater(true));
            Log.d("Stream :", "Read Deflated.");
        } else {
            resultStream = response.getStream();
            Log.d("Stream :","Read Normal.");
        }       
    }

    return resultStream;
}

¿Cómo me acerco a esto?

Respuesta 1

Descargo de responsabilidad: no he tenido la oportunidad de probar esto.

De acuerdo con lo que dice la publicación del blog de Clientes HTTP de Android si está usando Android 2.3+, HttpURLConnectionpuede hacerlo automáticamente.

Respuesta: 2

Envuelva su transmisión en GZIPInputStreamy lea de eso.

resultStream = new GZIPInputStream(resultStream);
//proceed reading as usual
Respuesta: 3

Si solo quiere saber cómo leer una secuencia gziped, simplemente envuelva su secuencia de entrada con un GZIPInputStream

 InputStream is = ...
 GZIPInputStream zis = new GZIPInputStream(new BufferedInputStream(is));
 try {
     // Reading from 'zis' gets you the uncompressed bytes...
     processStream(zis);
 } finally {
     zis.close();
 }
Respuesta: 4

Estoy tratando de recuperar el html de un resultado de consulta de búsqueda de Google usando Java. Es decir, si busco en Google.com una frase en particular, me gustaría recuperar el html de la web resultante ...

Me gustaría usar IllegalArgumentExcpetion en mi script pero no puedo encontrar ninguna información en ningún lado. Muestro lo que ya tengo: public int getId () {return id; } public void setId (int ...

Mi primera aplicación funciona bien solo, pero ahora estoy tratando de agregar pestañas después de un tutorial, pero me atasco. Estuve buscando y muchos usuarios tuvieron el mismo problema, probé esas soluciones pero aún no puedo ...

Tengo una herramienta de cambio de nombre que establece un directorio de carpetas, sin embargo, creé algunos JCheckBox y quiero que puedan cambiar el directorio dependiendo de cuál esté seleccionado. Ella es la oyente de acción de ...