Archivos de etiquetas: Http

Activar Gzip en peticiones Http en Android

Después de llevar mucho tiempo trabajando con las aplicaciones llegué a la conclusión que era necesario reducir la cantidad de datos que se consumía por parte del usuario. Aunque revisando las estadísticas de una persona que hace uso a diario de Infobolsa CED desde el mes de Noviembre no ha llegado a las 400kb es necesario seguir reduciendo esa cantidad de datos.

Para ello, nos pusimos con intentar hacer uso de las cabeceras Gzip en Android. Todo lo necesario es llamar a este método que hemos implementado justo al crear el objeto DefaultHttpClient


private void addGzipInterceptors(DefaultHttpClient httpclient){
	httpclient.addRequestInterceptor(new HttpRequestInterceptor() {

		public void process(
                    final HttpRequest request,
                    final HttpContext context) throws HttpException, IOException {
               if (!request.containsHeader("Accept-Encoding")) {
                   request.addHeader("Accept-Encoding", "gzip");
               }
           }

        });

    httpclient.addResponseInterceptor(new HttpResponseInterceptor() {

         public void process(final HttpResponse response, final HttpContext context) throws HttpException, IOException {
                HttpEntity entity = response.getEntity();
                if (entity != null) {
                    Header ceheader = entity.getContentEncoding();
                    if (ceheader != null) {
                        HeaderElement[] codecs = ceheader.getElements();
                        for (int i = 0; i < codecs.length; i++) {
                            if (codecs[i].getName().equalsIgnoreCase("gzip")) {
                                response.setEntity(
                                        new CtrlzAppsGzipDescompressingEntity(response.getEntity()));
                                return;
                            }
                        }
                    }
                }
            }
        });
}

Leer más →

A %d blogueros les gusta esto: