Java 如何使用Jsoup登录到ASPX网站

Java 如何使用Jsoup登录到ASPX网站,java,html,web-crawler,jsoup,Java,Html,Web Crawler,Jsoup,我一直在尝试使用Jsoup爬虫登录到一个aspx网站,到目前为止我发现的所有东西都是表单,但这个aspx网站没有任何表单。我该怎么做 以下是我目前掌握的情况: Connection.Response loginForm = Jsoup.connect(LOGARUN_URL) .method(Connection.Method.GET) .execute(); Connection.Response currentPage =

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

以下是我目前掌握的情况:

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

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

下文提供了一个简短的摘要:

步骤1:进入您想要登录的页面,使用Chrome开发者控制台(选项>工具>开发者工具),输入$(“输入”)

步骤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();