2011-11-18 9 views
7

Estoy intentando conectarme a un servidor drupal. Pude hacer esto en el pasado, pero los desarrolladores de drupal ahora requieren que agregue otra cookie. El servidor no registra la cookie que estoy tratando de enviar a continuación. ¿Alguien puede ver por qué?Servidor que no reconoce la cookie del teléfono Android

public static void maybeCreateHttpClient() { 
    if (mHttpClient == null) { 
     mHttpClient = new DefaultHttpClient(); 
     final HttpParams params = mHttpClient.getParams(); 
     HttpConnectionParams.setConnectionTimeout(params, 
      REGISTRATION_TIMEOUT); 
     HttpConnectionParams.setSoTimeout(params, REGISTRATION_TIMEOUT); 
     ConnManagerParams.setTimeout(params, REGISTRATION_TIMEOUT); 



     BasicCookieStore cookieStore = new BasicCookieStore(); 
     ClientCookie cookie = new BasicClientCookie("aml", key); 

     cookieStore.addCookie(cookie); 

     localContext = new BasicHttpContext(); 
     localContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore); 


    } 
} 

Respuesta

5

Resulta que no necesitaba usar cookies, cookstore o httpcontent. Por lo que puedo entender, estos se utilizan principalmente para administrar cookies provenientes del servidor.

me las arreglé para resolver mi problema estableciendo una cabecera al igual que

String key = "whatever"; 

    post.addHeader("Cookie", "aml=" + key); 

Esto se puede utilizar en HttpPost, HTTPGet o httput.

Eso me tomó unos días para una solución tan simple. Espero que ayude a alguien más

+0

lo cual tendría sentido ya que las cookies _se_ generalmente provienen del servidor, ¿no es así? – njzk2

+0

, bueno, sí, la identificación de la sesión y el nombre de la sesión son las mismas, pero la aml que estoy enviando no lo está. El problema era que el servidor no reconocería las cookies separadas cuando android las estaba manejando. Entonces necesito enviarlos de una manera específica. Con una coma separándolos en lugar de un punto y coma. – jiduvah

-1

Ah, bueno, si está buscando por qué no se agregaron las cookies, no estaba obteniendo o agregando la tienda de cookies del cliente http. Debe obtener la tienda de cookies del cliente, agregar sus cookies y luego ejecutar su solicitud.

+0

Pero en ese caso enviaría las cookies que ya había obtenido del servidor. Ese es todo el problema. – jiduvah

Cuestiones relacionadas