2012-03-31 45 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

回答