我一直在尝试使用 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/