2011-11-18 3 views
7

drupalサーバーに接続しようとしています。私は過去にこれを行うことができましたが、Drupalの開発者は今では別のクッキーを追加する必要があります。サーバーは、以下に送信しようとしているCookieを登録しません。なぜ誰かが見ることができますか?サーバーがAndroid PhoneからCookieを認識しない

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); 


    } 
} 

答えて

5

私は、cookie、cookstore、またはhttpcontentを使用する必要はありませんでした。私が理解できる限り、これらは主にサーバーから来る管理されたクッキーに使用されます。

私はそう

String key = "whatever"; 

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

これはhttppost、HTTPGETまたはhttput上で使用することができるようにヘッダを設定することで、私の問題を解決するために管理。

このような単純な解決策では数日間かかりました。私はそれが他の誰かを助けることを願っています

+0

これは通常、Cookieは通常サーバーから送信されるため意味がありますか? – njzk2

+0

ええ、セッションIDとセッション名は同じですが、送信しているamlはそうではありません。問題は、アンドロイドがそれらを処理していたときに、サーバーが別のCookieを認識しないということでした。だから私はそれらを特定の方法で送る必要があります。セミコロンではなくカンマで区切ります。 – jiduvah

-1

なぜ、クッキーが追加されなかったのか、あなたがhttpクライアントからクッキーストアを取得または追加していない理由を探していれば。クッキーストアをクライアントから取得し、クッキーを追加してから、リクエストを実行する必要があります。

+0

しかしその場合は、既にサーバーから取得したCookieを送信します。それは全体の問題だ。 – jiduvah

関連する問題