使用jsoup连接到Digikey.it时遇到问题。 我需要使用我的帐户登录并使用cookie,但是当我执行帖子时,请不要登录。 这是我的代码:
String UrlLogin="https://www.digikey.it/classic/RegisteredUser/Login.aspx?ReturnUrl=%2fclassic%2fregistereduser%2fmydigikey.aspx%3fsite%3dit%26lang%3dit&site=it&lang=it";
Connection.Response response = Jsoup.connect(UrlLogin)
.method(Connection.Method.GET)
.execute();
Document loginPage = response.parse();
response = Jsoup.connect(UrlLogin)
.data("ctl00$ctl00$mainContentPlaceHolder$mainContentPlaceHolder$txtUsername", "username")
.data("ctl00$ctl00$mainContentPlaceHolder$mainContentPlaceHolder$txtPassword", "password")
.data("ctl00$ctl00$mainContentPlaceHolder$mainContentPlaceHolder$btnLogin", "Accesso")
.cookies(response.cookies())
.method(Method.POST)
.followRedirects(true)
.execute()
doc = response.parse();
谁能帮帮我?
答案 0 :(得分:0)
您可以使用以下代码登录:
try {
String urlLogin = "https://www.digikey.it/classic/RegisteredUser/Login.aspx?ReturnUrl=%2fclassic%2fregistereduser%2fmydigikey.aspx%3fsite%3dit%26lang%3dit&site=it&lang=it";
Connection.Response response = Jsoup.connect(urlLogin)
.method(Connection.Method.GET)
.execute();
Document loginPage = response.parse();
Element eventValidation = loginPage.select("input[name=__EVENTVALIDATION]").first();
Element viewState = loginPage.select("input[name=__VIEWSTATE]").first();
response = Jsoup.connect(urlLogin)
.data("__VIEWSTATE", viewState.attr("value"))
.data("__EVENTVALIDATION", eventValidation.attr("value"))
.data("ctl00$ctl00$mainContentPlaceHolder$mainContentPlaceHolder$txtUsername", "username")
.data("ctl00$ctl00$mainContentPlaceHolder$mainContentPlaceHolder$txtPassword", "password")
.data("ctl00$ctl00$mainContentPlaceHolder$mainContentPlaceHolder$btnLogin", "Accesso")
.method(Connection.Method.POST)
.followRedirects(true)
.execute();
Document document = response.parse();
Element liElement = document.select("li#welcome_name").first();
System.out.println(liElement.html());
} catch (IOException e) {
e.printStackTrace();
}