我正在开发一个应登录网站的应用程序(通过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 中,来自 google 的 cookie 被标记为“方向:发送”,而来自我网站的 cookie 被标记为“方向:已收到”。(如何发送 google cookie,而我之前清除了浏览器/cookie 缓存?)
有人可以向我解释其中的区别吗?
我的代码如下:
DefaultHttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(url);
HttpResponse execute = client.execute(httpGet);
List<Cookie> cookies = client.getCookieStore().getCookies();