我在爬网一个想要爬网的坚定网站时遇到了麻烦.问题是:成功登录该网站后,我无法访问需要有效登录的链接.
例如:
public Document executeLogin(String user, String password) {
try {
Connection.Response loginForm = Jsoup.connect(url)
.method(Connection.Method.GET)
.execute();
Document mainPage = Jsoup.connect(login-validation-url)
.data("user", user)
.data("senha", password)
.cookies(loginForm.cookies())
.post();
Document evaluationPage = Jsoup.connect(login-required-url)
.get();
return evaluationPage;
} catch (IOException ioe) {
return null;
}
我在这里做的是:
>从登录页面获取cookie,这样我就可以正确登录;
>然后,我发布到登录验证URL,该URL在登录后返回主页.
>最后,登录到主页后,我尝试访问登录所需的URL,但是该请求返回了登录页面,就像会话已过期一样.
我知道我必须存储cookie才能使会话保持活动状态,但是当我连接到登录验证url时,它将返回我一个Document对象,并且没有可从该对象获取的cookie.
有没有办法获取成功登录创建的“会话”并将其发送到其他Jsoup.connects中?我想做的是抓取一个只能由登录用户访问的页面.
提前非常感谢您.