需要帮助使用Jsoup自动登录网页

时间:2014-01-10 10:52:20

标签: java gmail jsoup

我想使用Java在网页上自动登录。我使用Jsoup设置了用户ID,但不知道如何将该数据发送到浏览器。

2 个答案:

答案 0 :(得分:3)

您可以使用jsoup登录网页。代码如下所示:

Connection.Response loginForm = Jsoup.connect("https://login.to/")
                .ignoreContentType(true)
                .userAgent("Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0")
                .referrer("http://www.google.com")
                .timeout(12000)
                .followRedirects(true)
                .method(Connection.Method.GET)
                .execute();

Connection.Response loginFormFilled = Jsoup.connect("https://login.to/")
            .ignoreContentType(true)
            .userAgent("Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0")
            .followRedirects(true)
            .referrer("https://login.to/")
            .data("LOGON", "user")//check the form to find field name for user name
            .data("PASSWORDS", "pass")//check the form to find field name for user password
            .cookies(loginForm.cookies())
            .method(Connection.Method.POST)
            .execute();
            int statusCode = loginFormFilled.statusCode();
            Map<String, String> cookies = loginFormFilled.cookies();

您应该在登录时检查发送到服务器的内容,以便为第二个请求填充数据。在此之后检查响应代码是否为200,这意味着成功。您还可以检查Cookie,并且应该有JSESSIONID或类似的内容,表明您有会话,这是与用户进行交互的常用方式。

答案 1 :(得分:0)

根据他们的home page

  

jsoup是一个用于处理真实HTML的Java库。它提供   一个非常方便的API,用于提取和操作数据,使用   最好的DOM,CSS和类似jquery的方法。

所以我怀疑你可以使用它向浏览器提交数据。

话虽如此,您可能需要查看Selenium(它有自己的Java Client)。

相关问题