我正在使用 URLConnection 登录页面。当我成功登录时,页面上将设置一个会话值。之后我想访问站点上的其他文件,但我无法维护站点的会话状态。有任何想法吗?
问问题
2717 次
3 回答
2
我建议您改用 Apache HttpClient / HttpComponents。它具有维护客户端 cookie 存储的设施。
跨URLConnection
实例维护会话状态涉及:
- 获取 set-cookie 响应标头
- 解析它们,找出它们适用于什么,并存储它们
- 为后续请求创建和添加 cookie 请求标头。
在 Java 1.6 之前,没有公共 Java API 可以为您执行此操作,您必须“手动”完成所有操作。CookieHandler
从 Java 1.6 开始,以/ CookieManager
/ HttpCookie
/ CookieStore
/的形式提供支持CookiePolicy
。有关详细信息,请参阅javadocs。
相关页面:
于 2012-12-31T22:58:53.297 回答
0
听起来您尝试访问的网站基于 cookie 处理会话。您可能需要捕获该 cookie 并将其添加到未来的请求中。这个问题可能对那篇文章有所帮助:
于 2012-12-31T23:13:49.130 回答
0
从 URLConnection 读取以查看是否设置了任何 cookie 或发送了包含会话 ID 的重定向,您可以将其发送回其他站点。
于 2012-12-31T23:13:58.543 回答