2013-06-04 55 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