【问题标题】:URLConnection in java and save session statejava中的URLConnection并保存会话状态
【发布时间】:2012-12-15 21:47:22
【问题描述】:

我正在使用 URLConnection 登录页面。当我成功登录时,页面上将设置一个会话值。之后我想访问站点上的其他文件,但我无法维护站点的会话状态。有什么想法吗?

【问题讨论】:

    标签: java session urlconnection


    【解决方案1】:

    我建议您改用 Apache HttpClient / HttpComponents。它具有维护客户端 cookie 存储的功能。


    URLConnection 实例维护会话状态涉及:

    • 获取 set-cookie 响应标头
    • 解析它们,找出它们适用于什么,然后存储它们
    • 为后续请求创建和添加 cookie 请求标头。

    在 Java 1.6 之前,没有公共 Java API 可以为您执行此操作,您必须“手动”完成所有操作。从 Java 1.6 开始,以CookieHandler/CookieManager/HttpCookie/CookieStore/CookiePolicy 的形式提供支持。详情请参考javadocs

    相关页面:

    【讨论】:

      【解决方案2】:

      听起来您尝试访问的网站基于 cookie 处理会话。您可能需要捕获该 cookie 并将其添加到未来的请求中。这个问题可能对那篇文章有所帮助:

      URLConnection with Cookies?

      【讨论】:

        【解决方案3】:

        从 URLConnection 读取以查看是否设置了任何 cookie 或发送了包含会话 ID 的重定向,您可以将其发送回其他站点。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-11-04
          • 1970-01-01
          • 2013-05-09
          • 2014-06-30
          • 2014-06-09
          相关资源
          最近更新 更多