java - 记录 jsoup 记录

标签 java authentication jsoup httpresponse

我有一个网站。

必须登录才能看到里面的内容。

但是,我使用此代码登录。

doc = Jsoup.connect("http://46.137.207.181/Account/Login.aspx")
                  .data("ctl00$MainContent$LoginUser$UserName", "1234")
                  .data("ctl00$MainContent$LoginUser$Password", "123456")
                  .data("__VIEWSTATE","/wEPDwULLTEyMDAyNTY1NjJkGAEFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYBBSZjdGwwMCRNYWluQ29udGVudCRMb2dpblVzZXIkUmVtZW1iZXJNZUHk9FMvtsvPHqlP3vAV+1oloaxe4Asr7RQX5XFptqGz")
                  .data("__EVENTVALIDATION","/wEWBQLup8mjCgLFyvjkDwLQzbOWAgKVu47QDwKnwKnjBTL6Xsxc9zQnY8p9KVlFJ/8HIHqlOGl9uClF4ktcWYJ5")
                  .data("ctl00$MainContent$LoginUser$LoginButton","2")
                  request.
                  .post();

然后获取登录页面。

doc2 = Jsoup.connect("http://46.137.207.181/Groups.aspx").get();
            s=doc.title();
            Elements kelime = doc.select("td");
            for (Element link : kelime) {
                  linkHref = link.attr("hh");

没有显示登录屏幕。

请问如何才能做到?

最佳答案

在您的示例中发生的事情是您使用表单数据登录到 Login.apsx 并创建 session ,但是对 Groups.aspx 的请求没有t 携带该 session 数据,因此请求未通过身份验证。

Login.aspx 将返回一个 session cookie,您需要将该 cookie 传递到下一个请求。

查看此 jsoup login question 的答案很好的例子。

关于java - 记录 jsoup 记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15265124/

相关文章:

java - Hadoop上下文中Java的内存问题

java - 为什么不调用改造 validator ?

javascript - 错误 : ClerkJS: Invalid frontendAPI option. 转到实例主页 https ://dashboard. clerk.dev 并获取您的 Frontend API 值

android - 如何将 Jsoup 与 Volley 一起使用?

java - 检查 html 代码中的日期

java - 如何使 DTD 文件中的属性列表可扩展

java - HHMM 格式的总计时间

java - UserDetailsS​​ervice中注入(inject)的HttpServletRequest不是过滤器添加的包装的HttpServletRequest吗?

authentication - 在达到 session 和身份验证票证超时值之前,用户被迫随机重新登录

html - 不循环提取内部元素