【发布时间】:2015-09-28 16:23:36
【问题描述】:
如何在 Java 中发出多个 HTTP 请求来组成一个会话(因此,共享同一组 cookie 等)?
我想通过 POST 请求在一个站点上进行授权,然后使用所有 cookie 和会话数据向该站点发出 GET 请求。
有可能吗?如果有几种可能的方法来实现这种行为,那么其中最好的方法是什么?顺便说一句,同步调用在我的情况下是可以的。
提前致谢。
【问题讨论】:
-
会话通常由 cookie 跟踪,因此您需要在初始响应中从 Set-Cookie 标头中收集 cookie,然后在后续请求中将它们传递到 Cookie 标头中。
-
@blm 是标准库中最好的解决方案吗?我应该手动完成还是有像
CookieManager这样的内置类或类似的东西? -
对于小型项目,我只使用标准的 CookieManager、HttpCookie 和 Http[s]UrlConnection 类。对于较大的项目,Apache 有一些库可以为您处理很多问题,但标准 Java 类非常好。
-
@blm 你能给我一个
CookieManager的例子吗?那我就接受你的回答 -
我只添加了一条评论,因为我没有时间发布我认为完整的答案。 javadocs 非常清楚,所以我建议尝试从 javadocs 中让它工作,如果你仍然有问题,发布你想出的代码,以及它在做什么与你期望和想要的做。