我正在对一个应用程序,这将登录到一个网站(通过http://......?password=xyz)。为此,我使用DefaultHttpClient。除了GET响应之外,网站还会发送一个cookie,我希望将其存储起来以供进一步的POST请求使用。
我的问题是client.getCookieStore().getCookies()总是收到一个空的cookie列表。
如果我打开http://www.google.com (安装在我的目标网站上),我会正确地收到cookie,但我正在使用的网站似乎以其他方式发送cookie(这是一个MailMan邮件列表审核页面)
我可以在Firefox cookie管理器中看到相应的cookie,但在Firebug网络/cookie面板中看不到(为什么?)然而,InternetExplorer HttpWatchProfessional在记录流量时会显示cookie ...
我观察到www.google.com发送的cookie和我的目标网站之间有一些小的区别:在HttpWatchProfessional中,来自谷歌的cookie被标记为“方向:已发送”,而来自我网站的cookie则被标记为“方向:已接收”。(当我刚刚清除浏览器/cookie缓存时,如何发送google cookie?)
有人能给我解释一下其中的区别吗?
我的代码如下:
DefaultHttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(url);
HttpResponse execute = client.execute(httpGet);
List<Cookie> cookies = client.getCookieStore().getCookies();发布于 2012-04-07 06:43:59
经过进一步的调查,我发现cookie被收到了,但实际上被httpclient拒绝了,因为cookie的路径与被调用的URL不同。
https://stackoverflow.com/questions/9956917
复制相似问题