1

我正在尝试将数据发布到网站以使用 Jsoup 登录该网站。这是html表单:

    <form action="/user/login" method="POST">
    <table>
    <tr>
      <td><label for="email">E-Mail:</label></td>
      <td><input name="email" value="" /></td>
    </tr>
    <tr>
      <td><label for="password">Passwort:</label></td>
      <td><input name="password" type="password" /></td>
    </tr>
    <tr>
      <td><input type="submit" value="Login" /></td>
    </tr>
    </table>
    </form>

这是我的代码:

 Connection.Response loginForm = Jsoup.connect(LOGINWEBSITE)
                    .userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0")
                    .method(Connection.Method.GET)
                    .execute();


            Document login = Jsoup.connect(LOGIN_URL)
                    .userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0")
                    .data("cookieexists", "false")
                    .data("email", email)
                    .data("password", password)
                    .cookies(loginForm.cookies())
                    .post();

但它不起作用。对于另一个网站,我只需要为按钮添加一行就可以了。在这里它不起作用,因为按钮没有名称。基本上我想知道如何提交来自。我该如何解决这个问题?非常感谢。

4

1 回答 1

0

通常,您需要先通过GET请求访问登录页面,以获取发布请求所需的所有 cookie/令牌。我无法为您检查,因为您没有提及您尝试连接的 URL。当您手动登录时,我会在您的位置使用浏览器开发人员工具记录网络流量。然后分析实际来回发送的数据。通常,您可以轻松识别需要与成功登录的发布请求一起传递的必要令牌/cookie。

于 2017-03-15T12:40:45.163 回答