gpt4 book ai didi

java - 如何使用Jsoup登录页面

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:48:17 25 4
gpt4 key购买 nike

经过几个小时的搜索,我仍然对如何在登录后访问 html 页面感到困惑。查看此处的各种其他帖子以及 Jsoup API,我了解到访问登录页面之后的页面需要这样的代码:

    Connection.Response loginForm = Jsoup.connect("https://parentviewer.pisd.edu/")
.method(Connection.Method.GET)
.execute();

Document document = Jsoup.connect("https://parentviewer.pisd.edu/")
.data("username", "testUser")
.data("password", "testPass")
.data("LoginButton", "Login")
.cookies(loginForm.cookies())
.post();

但是,我认为我的理解可能有点偏差,因为我仍然不太明白我应该为每个值赋予什么。

例如,在 的网站上,我会使用 input name="ctl00$ContentPlaceHolder1$portalLogin$UserName"作为键,使用 "testUser"作为值吗?

我处理此任务的方法是否正确?非常感谢任何帮助。

最佳答案

是的,这段代码看起来像你的。

Connection.Response loginForm = Jsoup.connect("https://parentviewer.pisd.edu/")
.method(Connection.Method.GET)
.execute();

Document document = Jsoup.connect("https://parentviewer.pisd.edu/")
.data("ctl00$ContentPlaceHolder1$portalLogin$UserName", "testUser")
.data("ctl00$ContentPlaceHolder1$portalLogin$Password", "testPass")
.cookies(loginForm.cookies())
.post();

System.out.println(document.body().html());

如何让它工作?最好的方法是启用 Web Developer Console在您的浏览器中登录此页面。在此之后检查从浏览器发送到服务器的内容并使用 JSoup 发送此数据。

在您的示例中,请求数据如下所示:

Request URL:https://parentviewer.pisd.edu/
Request Method:POST
Status Code:200 OK

FormData:
__LASTFOCUS:
__EVENTTARGET:
__EVENTARGUMENT:
__VIEWSTATE:/wEPDwULLTEwNjY5NzA4NTBkZMM/uYdqyffE27bFnREF10B/RqD4
__SCROLLPOSITIONX:0
__SCROLLPOSITIONY:106
__EVENTVALIDATION:/wEdAASCW34hepkNwIXSnvGxEUTlqcZt0XO7QUOibAd3ocrpayqHxD2e5zCnWBj9+m7TCi0S+C76MEjhL0ie/PsBbOp+Shjkt2W533uAqvBQcWZNXoh672M=
ctl00$ContentPlaceHolder1$portalLogin$UserName:testUser@gmail.com
ctl00$ContentPlaceHolder1$portalLogin$Password:testPass
ctl00$ContentPlaceHolder1$portalLogin$LoginButton:Login

并非所有数据都是必需的,尝试使用最少的请求并检查这是否有效。

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com