服务器无法从Android手机识别Cookie

时间:2011-11-18 15:17:00

标签: android drupal cookies

我正在尝试连接到drupal服务器。我以前能够做到这一点但是drupal开发人员现在要求我添加另一个cookie。服务器不会注册我尝试在下面发送的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);


    }
}

2 个答案:

答案 0 :(得分:5)

事实证明,我并不需要使用cookie,cookstore或httpcontent。据我所知,这些主要用于来自服务器的托管cookie。

我设法通过设置标题来解决我的问题

    String key = "whatever";

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

这可用于httppost,httpget或httput。

我花了几天时间才得到这样一个简单的解决方案。我希望它可以帮助其他人

答案 1 :(得分:-1)

哦,如果您正在寻找未添加cookie的原因,那么您无法从http客户端获取或添加cookie存储。您应该从客户端获取cookie存储,添加cookie,然后执行您的请求。