java - 如何使用 Jsoup 登录 ASPX 网站

标签 java html web-crawler jsoup

我一直在尝试使用 Jsoup 爬虫登录一个 aspx 网站,到目前为止我发现的所有内容都是使用表单,但是这个 aspx 网站 here没有任何形式。我该怎么做?

这是我到目前为止所拥有的:

Connection.Response loginForm = Jsoup.connect(LOGARUN_URL)      
            .method(Connection.Method.GET)
            .execute();

    Connection.Response currentPage = Jsoup.connect(LOGIN_FORM_URL)
            .data("LoginName", USERNAME)
            .data("Password", PASSWORD)
            .cookies(loginForm.cookies())   
            .method(Connection.Method.POST)  
            .userAgent(USER_AGENT)  
            .execute();
    System.out.println(currentPage.parse().html());

最佳答案

经过一番挖掘,我找到了答案 here

下面提供了简短的摘要:

第 1 步:进入您要登录的页面并使用 Chrome 开发者控制台(选项>工具>开发者工具)并输入 $("input")

第 2 步:获取名称和值并将其添加到之前的 .data

第 3 步:转到页面源代码并查找并添加任何其他所需数据及其值

之后你应该完成了,它应该看起来像这样

Connection.Response currentPage = Jsoup.connect(LOGIN_FORM_URL)
            .data("LoginName", USERNAME)
            .data("Password", PASSWORD)
            .data("SubmitLogon", "true")
            .userAgent(USER_AGENT)                
            .data("input[name=__VIEWSTATE]","/wEPDwULLTE5NTUyNzc3NDhkZC7w9zeYDbAWpWTaWlQFzEFw15ln")
            .data("input[name=__VIEWSTATEGENERATOR]","5A2128B1")
            .cookies(loginForm.cookies())   
            .method(Connection.Method.POST)
            .execute();

关于java - 如何使用 Jsoup 登录 ASPX 网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59549760/

相关文章:

html - 单击时 ulink 失火

Android Phonegap/Webkit/Viewport 位置固定

java - 有没有办法在爬行过程中清除crawler4j中的访问队列

database - 爬虫应用的数据库系统

python - 由于命名空间,使用 Scrapy Python 无法从带有 xpath 的响应 html 中提取数据

java - 如何在扩展 Activity 中显示 Admob 插页式广告

java - 在 Maven 项目中获取 Tomcat 依赖项错误

java - 我从哪里开始为 Java 兼容手机开发应用程序?

java - 在 JSP 中从字符串自动转换为日期

css - 绝对定位的元素即使在相对容器中也移动