2012-03-31 46 views
2

我正在開發一個應用程序,該應用程序將登錄到一個網站(通過http://......?password=xyz)。 我爲此使用了DefaultHttpClient。 隨着GET響應,網站發送一個cookie,我想存儲它以用於進一步的POST請求。Android:從HTTP Get-Request處理Cookie

我的問題是client.getCookieStore().getCookies()總是收到一個空的cookies列表。

如果我打開http://www.google.com(insted的我的意圖的網站),我收到餅乾正常,但該網站,我有工作,似乎發送cookie以其他方式(這是一個郵差郵件列表緩和頁)

我可以在Firefox cookie管理器中看到相應的cookie,但不能在Firebug網絡/ cookie面板中(爲什麼?)。然而,InternetExplorer HttpWatchProfessional在錄製流量時顯示cookie。

有一些小的差異,我在www.google.com發送的cookie和我的目標網站之間觀察到:在HttpWatchProfessional中,來自google的cookie標記爲「方向:已發送」,而來自我網站的Cookie標記爲「方向:已收到」。 (我怎麼能發送谷歌cookie,而我之前清除瀏覽器/ cookie緩存?)

有人可以解釋我的不同嗎?

我的代碼如下:

DefaultHttpClient client = new DefaultHttpClient(); 
HttpGet httpGet = new HttpGet(url); 
HttpResponse execute = client.execute(httpGet); 
List<Cookie> cookies = client.getCookieStore().getCookies(); 
+0

可能重複(http://stackoverflow.com/questions/8279970/accept-all-cookies-via-httpclient) – dldnh 2012-04-07 12:04:01

回答