Usando retrofit con persistencia de Cookie

Yo, yo estoy usando retrofit y me pregunto cómo manejar de forma transparente la cookie de sesión. Para eso extiendo el ApacheClient dado y uso un CookieStore en la llamada personalizada a ApacheClient.execute (HttpClient, HttpUriRequest):

Client client = new ApacheClient() { final CookieStore cookieStore = new BasicCookieStore(); @Override protected HttpResponse execute(HttpClient client, HttpUriRequest request) throws IOException { // BasicHttpContext is not thread safe // CookieStore is thread safe BasicHttpContext httpContext = new BasicHttpContext(); httpContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore); return client.execute(request, httpContext); } }; RestAdapter restAdapter = new RestAdapter.Builder() .setServer(API_URL) .setClient(client) .build(); 

¿Existe una mejor manera de hacer esto con la API de actualización (sin extensión HttpClient)?

A partir de API 9 tiene java.net.CookieManager y puede establecer el controlador de cookies de todo el sistema de esta manera:

 CookieManager cookieManager = new CookieManager(); cookieManager.setCookiePolicy(CookiePolicy.ACCEPT_ALL); CookieHandler.setDefault(cookieManager); 

Sí, el cliente Apache Http utiliza su propio mecanismo de gestión de cookies. Pero no debería ser el problema porque a partir de la API 9 HttpURLConnection se recomienda el cliente HTTP. Si utiliza Retrofit de Square, también le gustará su implementación de OkHttp lib – custom URLConnection con muchas funciones útiles.

  • ¿Cómo configurar el nivel de registro de depuración y liberación para Retrofit?
  • Manejar paginación con RxJava
  • Comprensión de flujos de datos y múltiples suscriptores (con retroadaptación)
  • ¡Retrofit! Devolver un tipo genérico observable
  • Retrofit: ¿Cómo especificar parámetros separados por comas en la solicitud?
  • Retrofit - Los parámetros de @Body no se pueden usar con codificación de formularios o multipartes
  • Consulta GET con json - Retrofit 2.0
  • Los parámetros @Part sólo se pueden utilizar con la codificación multipart. (Parámetro # 8)
  • Retrofit 2: Obtener el cuerpo de JSON from Response
  • Android: Servicio de Intención con bibliotecas de red (Retrofit o Volley)
  • Manejo de errores personalizados con Retrofit cuando se ofusca usando proguard da java.lang.reflect.UndeclaredThrowableException
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.