如何通过jsoup登录?
<table border="0" cellpadding="8px">
<tbody>
<tr>
<td align="left"> <span id="ctl00_bodyContent_LabelTurni1" style="font-size: 13pt;">Nome utente</span> </td>
<td align="left"> <input name="ctl00$bodyContent$txtUser" type="text" size="30" id="ctl00_bodyContent_txtUser"> </td>
</tr>
<tr>
<td align="left"> <span id="ctl00_bodyContent_LabelTurni2" style="font-size: 13pt;">Password</span> </td>
<td align="left"> <input name="ctl00$bodyContent$txtPassword" type="password" size="30" id="ctl00_bodyContent_txtPassword" onfocus="this.select();"> </td>
</tr>
<tr>
<td> </td>
<td align="center"> <input type="submit" name="ctl00$bodyContent$btnLogin" value="Conferma" onclick="ValidateConfirm(); return false;WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$bodyContent$btnLogin", "", true, "", "", false, false))" id="ctl00_bodyContent_btnLogin"> <input type="submit" name="ctl00$bodyContent$btnEsci" value="Esci" onclick="window.close(); return false;" id="ctl00_bodyContent_btnEsci"> </td>
</tr>
</tbody>
</table>
我试过这个,但它不起作用:
Document doc = (Document) Jsoup.connect("http://turni.contacts.com/Default.aspx").data("ctl00_bodyContent_txtUser", "user").data("ctl00_bodyContent_txtPassword", "password").data("ctl00_bodyContent_btnLogin","Conferma")
//.cookies(res.cookies()).timeout(0).post();
答案 0 :(得分:1)
通常登录网站需要两个步骤 -
GET
请求以获取该页面,然后从那里提取
一些值,如会话ID等,以及cookie。 POST
请求,其中包含步骤1中的值以及您的用户名和密码。要知道您需要发送哪些值,请在开发者模式下使用浏览器(按F12键)并检查流量。更改user agent
字符串以匹配您的浏览器,因为某些网站会向不同的客户端发送不同的页面。您可以看到示例here。