在尝试了不同的教程并阅读了很多帖子之后,我仍然无法使用 jsoup 登录网站。
这是我的代码
Connection.Response response = Jsoup.connect("https://www.ivolatility.com/login.j")
.method(Connection.Method.GET)
.execute();
response = Jsoup.connect("https://www.ivolatility.com/login.j")
.data("username", username)
.data("password", password)
.cookies(response.cookies())
.method(Connection.Method.POST)
.execute();
Document homePage = Jsoup.connect("http://www.ivolatility.com/options.j")
.cookies(response.cookies())
.get();
最佳答案
检查浏览器发送的post
请求(使用浏览器的开发人员工具) - 它会发送一些您未发送的额外参数。将它们添加到您的帐户中:
response = Jsoup.connect("https://www.ivolatility.com/login.j")
.data("username", username)
.data("ref_url", "")
.data("service_name", "")
.data("step", "1")
.data("login__is__sent", "1")
.data("password", password)
.cookies(response.cookies())
.method(Connection.Method.POST)
.execute();
将浏览器的用户代理
字符串添加到请求中也是明智的,因为您的程序可能会发送自己的字符串,从而导致浏览器产生完全不同的响应。
关于java - 使用java jsoup登录不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45436798/