首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >HttpClient 4.x:如何在多个请求中保留cookies?

HttpClient 4.x:如何在多个请求中保留cookies?
EN

Stack Overflow用户
提问于 2014-07-22 19:54:18
回答 1查看 3K关注 0票数 1

我需要使用Apache HttpClient (4.x)连续进行3次web调用,并以编程方式将我登录到我的应用程序中:

  1. HTTP登录页面(http://myapp01.example.com)
  2. 服务器将用一个响应cookie "JSESSIONID“来响应这个GET。
  3. 到同一个页面的HTTP (使用相同的JSESSIONID作为请求cookie)
  4. 服务器现在对我进行身份验证并验证JSESSIONID
  5. HTTP在同一个域(http://myapp01.example.com/fizz)下访问不同的页面,同样使用相同的JSESSIONID作为请求cookie

第一个GET的响应将包含一个名为JSESSIONID的cookie。然后,POST将我登录到服务器(在POST请求体中发送用户名和密码数据)。这篇文章还将发送(Set-Cookie)从第一个GET收到的JSESSIONID cookie。如果我的登录是成功的,JSESSIONID现在将进行身份验证,并且我已登录。然后,我可以对/fizz进行第二个GET调用(仍然使用相同的/fizz),这通常是一个经过身份验证的URL。

这能在HttpClient 4中完成吗?我看到有一种方法HttpClient.getCookieStore()。但这似乎只存储每个GET/POST/PUT/etc的cookie。

关于如何跨多个请求获得这个持有cookie的想法,这样服务器返回的cookie就会添加到后续的请求中吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-23 14:20:57

Apache HttpClient会自动处理(因为版本2)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24896645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档