首页 >Java >java教程 >登录网站后如何保持与 Jsoup 的会话?

登录网站后如何保持与 Jsoup 的会话?

Barbara Streisand
Barbara Streisand原创
2024-10-29 22:35:291146浏览

How can I maintain a session with Jsoup after logging in to a website?

Jsoup 发布和 Cookie:维护会话

使用 jsoup 登录后尝试访问网站上的后续页面时,您可能会遇到由于需要 cookie 来维持会话,因此存在困难。虽然 apache httpclient 可以处理这个问题,但 jsoup 中有一个替代解决方案。

要解决此问题:

  1. 建立会话并检索 Cookie:

    <code class="java">Connection.Response res = Jsoup.connect("http://www.example.com/login.php")
        .data("username", "myUsername", "password", "myPassword")
        .method(Method.POST)
        .execute();
    
    String sessionId = res.cookie("SESSIONID"); // Determine the correct cookie name</code>
  2. 在后续请求中发送 Cookie:

    <code class="java">Document doc2 = Jsoup.connect("http://www.example.com/otherPage")
        .cookie("SESSIONID", sessionId)
        .get();</code>

通过传递 sessionId cookie后续请求时,您可以保持会话并访问站点上的其他页面。这使您可以在不依赖外部库的情况下成功抓取信息。

以上是登录网站后如何保持与 Jsoup 的会话?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn