我尝试将数据发布到网站,以使用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>
&#13;
这是我的代码:
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();
但它不起作用。对于另一个网站,我只需要为按钮添加一行就可以了。这里它不起作用,因为按钮没有名称。 基本上我想知道如何提交。 我该如何解决这个问题? 非常感谢。
答案 0 :(得分:0)
通常,您需要首先使用GET
请求访问登录页面,以获取发布请求所需的所有Cookie /令牌。我无法为您检查,因为您没有提到您尝试连接的网址。在您的位置,我会在您手动登录时使用浏览器开发人员工具记录网络流量。然后分析实际来回发送的数据。通常,您可以轻松识别需要传递的必要令牌/ cookie以及成功登录的帖子请求。