我正在尝试使用Jsoup登录此网站:https://www.startus.cc/
我正在使用以下代码:
String url = "https://www.startus.cc/user/login";
String userAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36";
Connection.Response response = Jsoup.connect(url).userAgent(userAgent)
.method(Connection.Method.GET)
.execute();
response = Jsoup.connect(url)
.cookies(response.cookies())
.data("name", "myname")
.data("pass", "mypass")
.data("op", "Log in")
.userAgent(userAgent)
.method(Connection.Method.POST)
.followRedirects(true)
.execute();
Document doc = Jsoup.connect("https://www.startus.cc/")
.cookies(response.cookies())
.userAgent(userAgent)
.get();
System.out.println(doc);
它会打印出页面的html内容,但它仍然没有登录。你知道这里缺少什么吗?谢谢!
答案 0 :(得分:2)
POST
请求中缺少参数 - form_build_id
。请按照以下步骤登录:
GET
请求 - response = Jsoup.connect...
发送到主页面:https://www.startus.cc/并从回复中提取form_build_id
的值。POST
发送https://www.startus.cc/user/login
个请求,其中包含form_build_id
和您从步骤1获得的Cookie - .cookies(response.cookies())
。