我想使用Java自动在网页上登录。我已经使用Jsoup设置了用户id,但不知道如何将数据发送到浏览器。
发布于 2014-01-10 11:13:24
您可以使用登录到网页。代码将如下所示:
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,这意味着成功。您还可以检查cookies,并且应该有JSESSIONID
或类似的内容,表明您有会话,这是与用户中标记的交互的常见方式。
发布于 2014-01-10 10:56:58
根据他们的主页
jsoup是一个用于处理真实HTML的Java库。它提供了一个非常方便的API来提取和操作数据,使用最好的DOM、CSS和jquery类方法。
因此,我怀疑您是否可以使用它向浏览器提交数据。
尽管如此,您可能想看看硒 (它有自己的Java客户端)。
https://stackoverflow.com/questions/21042446
复制相似问题