我正在使用Loopj HTTP客户端向服务器(http://loopj.com/android-async-http/)发出http请求。请求运行正常。但是,我正在尝试将会话实现到服务中。根据文档,通过将数据保存在共享首选项存储中来启用cookie是很简单的。代码如下:

    AsyncHttpClient client = new AsyncHttpClient();
    PersistentCookieStore myCookieStore = new PersistentCookieStore(getActivity());
    client.setCookieStore(myCookieStore);


问题是,每当我向需要会话的脚本发出请求时,都会得到空响应,就好像用户没有会话ID。我不确定如何调试确切的问题所在。我如何访问myCookieStore来检查它是否正在存储和发送会话ID。我正在尝试记录myCookieStore.toString(),但这没有给我里面的数据。

谢谢。

最佳答案

请这样做,这是我的经验
您必须先将其转换为Cookie列表,然后将其循环并存储在String值中

String cookieName = "";
String cookieValue = "";
List<Cookie> cookies = myCookieStore.getCookies();
    for (Cookie c : cookies) {
        cookieName = c.getName().toString();
        cookieValue = c.getValue().toString();
    }

07-25 21:40