这是合约。我的一项活动需要输入ID和密码才能登录。我如何检查登录是否成功(主要的想法是检查这样的帐户是否存在,但我无权访问数据库来检查它。所以我需要一个替代方案:如果我能够登录 - 那没关系,如果不是 - 使用消息删除alertDialog并让用户尝试输入正确的数据)。我怎么能用Jsoup做到这一点?
以下是我在AsyncTaskLoader中用来登录和检索一些数据的代码:
Connection.Response response = Jsoup.connect(URL)
.data("id", paramID, "password", paramPassword)
.timeout(10000)
.method(Connection.Method.POST)
.execute();
String cookie = response.cookie("JSESSIONID");
Document document = Jsoup.connect(targetURL)
.cookie("JSESSIONID", cookie)
.get();
任何想法如何做到这一点?谢谢:))
答案 0 :(得分:1)
我理解你的问题:您想测试一下您使用的用户名和密码是否有效。
你需要知道两件事:
所以,请使用:
Document document = Jsoup.connect(targetURL)
.cookie("JSESSIONID", cookie)
.get();
这将需要您进行一些调查。您需要检查两个不同的页面,并找到一个或两个页面中存在的单个元素,以便您区分成功登录和登录失败。
例如,如果您很幸运,您可以像这样比较文档的标题:
if (document.title().contains("Login Successful or whatever")){
// DO SOMETHING
} else if (document.title().contains("Login Unsuccessful or something else")){
// DO SOMETHING ELSE
};
就像我说的那样,如果你很幸运的话。否则,您将不得不去调查并检查相应的html页面,并找出一个方便的元素来用来测试这两个页面。
希望有所帮助。