Me gustaría conservar una sesión mientras me conecto al servidor usando HttpGet y necesito entender cómo maneja las cookies.¿HttpGet maneja las cookies automáticamente?
El desarrollador del servidor dice que maneja todas las cookies por sí mismo. Uso la solicitud de HttpGet para acceder al servidor de la siguiente manera: InputStream isResponse = null;
HttpGet httpget = new HttpGet(strUrl);
HttpResponse response = mClient.execute(httpget);
HttpEntity entity = response.getEntity();
isResponse = entity.getContent();
responseBody = convertStreamToString(isResponse);
return responseBody;
¿Debo hacer algo más? ¿Pone la cookie en mi dispositivo automáticamente y el método HttpGet sabe usarla para mantener el ID de sesión usando la cookie?
¿Cómo puedo verificar si la cookie existe en mi dispositivo, para saber si la sesión está "viva"?
En caso uso el siguiente código para obtener la cookie:
CookieStore cookieStore = new BasicCookieStore(); // Create local HTTP context HttpContext localContext = new BasicHttpContext(); // Bind custom cookie store to the local context localContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore); HttpGet httpget = new HttpGet(strUrl); HttpResponse response = mClient.execute(httpget,localContext);
qué el HttpGet todavía maneja las galletas de la misma que antes?
- Veo que DefaultHttpClient (mClient en el código anterior) tiene su propia CookieStore. ¿Cómo puedo guardar sus cookies y cargarlas la próxima vez que lo creo?
veo que DefaultHttpClient (mClient en el código anterior) tiene su propia CookieStore. ¿Cómo puedo guardar sus cookies y cargarlas la próxima vez que lo creo? –
¿Por qué necesitas hacer eso? La próxima vez usarás una nueva cookie. Pero si aún necesita almacenarlo, puede ver el código en el ejemplo que le dije cómo hacerlo. – Dayerman
Necesito poder guardar en cookie para saber si el usuario tiene una sesión en el servidor incluso si el usuario abandona la aplicación y la abre de nuevo (no pude cómo hacerlo en el enlace que envió). Algo similar se hace en la API de Facebook, solo que usan el navegador de Android para hacerlo. Encontré una solución y la publiqué aquí como una respuesta. ¡Muchas gracias por tu ayuda de todos modos! –