繁体   English   中英

Jsoup登录aspx Digikey

[英]Jsoup Login aspx Digikey

我用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();

谁能帮我?

您可以使用以下代码登录:

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();
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM