我试图弄清楚如何使用 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();