我试图弄清楚如何使用HttpComponents设置和检索cookie,但我找不到可靠的文档,特别是在请求上设置cookie时.我有什么似乎工作,但同时我无法确认我设置的cookie是否正确发送.
我注意到我在请求上设置的cookie在调用client.execute()之后也在CookieStore中,但是我不确定是不是因为我在调用client.execute()之前将它添加到CookieStore(也许是留在CookieStore而不是实际发送请求?).有没有一种好的方法来确认cookie被发送?
HttpGet get = new HttpGet("http://example.com/");
DefaultHttpClient client = new DefaultHttpClient();
// set the cookies
CookieStore cookieStore = new BasicCookieStore();
BasicClientCookie cookie = new BasicClientCookie("foo", "bar");
cookie.setDomain("example.com");
cookie.setPath("/something/");
cookieStore.addCookie(cookie);
client.setCookieStore(cookieStore);
// get the cookies
HttpResponse response = client.execute(get);
List<Cookie> cookies = client.getCookieStore().getCookies();
最佳答案 刚刚找到了以下示例,演示了如何在登录示例中使用cookie:
HttpComponents Example with Cookies
也许您可以通过服务器响应发送的cookie内容的方式对其进行修改,因此您可以评估cookie是否真的发送到服务器. (您使用“foo”,“bar”或一些随机值发送cookie,服务器将以“bar”,“foo”或类似的方式响应)