我正在使用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();
}