programacion - manual android studio avanzado
¿Cómo evitar que Android devuelva una respuesta en caché a mi solicitud HTTP? (3)
Estoy escribiendo un cliente que está haciendo solicitudes HTTP repetidas para datos xml que están cambiando con el tiempo. Parece que la pila de Android está almacenando en caché mis solicitudes de página y devolviendo la misma página repetidamente. ¿Cómo me aseguro de que tenga una página nueva cada vez?
- código ---
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet(url);
HttpResponse response;
response = client.execute(request);
InputStream in;
in = response.getEntity().getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
Gracias, Gerry
Añada un parámetro no utilizado al final de la URL:
HttpGet request = new HttpGet(url + "?unused=" + someRandomString());
donde someRandomString()
probablemente implica la hora actual.
Es crudo, pero está prácticamente garantizado que funciona independientemente de todos los factores externos que pueden hacer que una solución "adecuada" falle, como proxies mal configurados o defectuosos.
Sugerencia: para obtener la cadena aleatoria
HttpGet request = new HttpGet(url + "?unused=" + UUID.randomUUID().toString());
agregar un encabezado HTTP:
Cache-Control: no-cache
y mira si eso funciona