我想使用Java在网页上自动登录。我使用Jsoup设置了用户ID,但不知道如何将该数据发送到浏览器。
答案 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)。