繁体   English   中英

如何使用 Jsoup 登录 ASPX 网站

[英]How Do You Login To An ASPX Website Using A Jsoup

我一直在尝试使用 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 开发者控制台(选项>工具>开发者工具)并输入 $("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();

暂无
暂无

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

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