无法使用jsoup登录网站

时间:2017-09-13 19:28:22

标签: java android jsoup

我正在尝试登录this website 这是我到目前为止所尝试的内容,但它似乎不起作用:

try{
       Connection.Response login = Jsoup.connect("login_url").method(Connection.Method.GET).execute(
       Connection.Response doc = Jsoup.connect("https://ecampus.psgtech.ac.in/studzone/")
              .data("Txtstudid","id")
              .data("TxtPasswd","password")
              .data("btnlogin","Login")
              .userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0")
              .method(Connection.Method.POST).execute(); //doesn't seem to work.
       Document docs=Jsoup.connect("https://ecampus.psgtech.ac.in/studzone/AttWfPercView.aspx/") //after login
                                .cookies(doc.cookies())
                                .userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0").get();
       test=docs.title();
   }catch (IOException e){
       test=e.getMessage();
   }
   out.setText(docs.title());

我做错了什么?

修改1 最后在TDG的帮助下我发现了这个缺陷。

对于寻求此解决方案的用户,实际问题是您没有传递足够的数据来登录。

第1步:转到Chrome加载页面,选项>工具>开发人员工具

第2步:在控制台类型中     $("输入&#34) 这将返回表单中所需的所有输入 第3步:将数据附加到您的响应中。

Jsoup.connect("login_url")
              .data("username","user")
              .data("password","password")
              .data("btnlogin","Login")
              .data("id_of_the_data_required","value")
              .data("...and so on like this...)
              .userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0")
              .method(Connection.Method.POST).execute(); 

第4步:抓取网页的HTML代码,找出是否必须使用 POST GET 方法,并建议使用userAgent。

步骤5:一旦您发现登录事件成功。使用Response_name。 cookies()去页面中的其他网址。

希望这有帮助。

0 个答案:

没有答案