2013-06-04 32 views
1

我无法找到任何资源来了解Cookie是如何由Android中的Http响应设置的。我打一个网址和阅读像这样的回应:Android:Http响应cookie存储

  HttpGet httpGet = new HttpGet(url); 
     HttpResponse response = client.execute(httpGet); 
     StatusLine statusLine = response.getStatusLine(); 
     int statusCode = statusLine.getStatusCode(); 
     if (statusCode == 200) { 
      HttpEntity entity = response.getEntity(); 
      String entityStr = EntityUtils.toString(entity); 
       } 

据我所知,HTTP响应将设置会被另一个服务后读的cookie。有什么我需要做,以确保cookie设置?我如何验证cookie是否被设置。 谢谢。

回答

8

如果您使用的是延伸AbstractHttpClient的客户端,例如DefaultHttpClient,则可以执行以下操作以在执行请求后获取Cookie。

List<Cookie> cookiejar = client.getCookieStore().getCookies(); 
+0

我明白那一部分。我的问题是,Android操作系统是否会处理响应头中的cookie,并将它们放在通用cookie jar中,以便稍后可以通过使用域名查找的完全不同的服务来检索cookie。我的问题是,我的Http服务器通信完全独立于后端服务,后端服务需要cookie稍后将数据传回服务器。 – user1935235

+0

不,它们不在通用饼干罐中。我建议您从服务器请求中获取返回的cookie列表,并手动将它们添加到后续请求中。 – jimmithy