使用POST方法通过发送凭据确定是否已成功登录

时间:2014-03-03 20:20:37

标签: java android html post login

我尝试使用post方法发送用户名/密码来登录网页。我成功地做到了,但我想要实现的是知道我是否成功登录(以Java编程)。我的方法是将html页面的源代码作为一个字符串,然后开始寻找单词" 登录为"确定日志记录过程是成功完成还是否成功。我尝试这样做并在Logcat中显示字符串,但字符串似乎太长而无法显示。

这甚至可能吗?如果是这样,这是实现所需要的唯一方法吗?

感谢。

4 个答案:

答案 0 :(得分:0)

通常当你使用异步任务执行post http时,如果是这种情况,那么你需要覆盖一个名为onpostexecute的方法,它允许你进行处理。并将一个(通常是静态的)标志更改为知道用户现在已经登录。

答案 1 :(得分:0)

如果您使用ASyncTask进行网络呼叫,则可以返回一个字符串,该字符串将包含您尝试连接的服务器的响应。这一切都通过doInBackground()

在后台运行

在主线程上运行的onPostExecute()函数中,您可以检查字符串是否包含成功登录和登录失败的文本。

if (login.contains("success") {
    textView.setText("You have logged in");
else if (login.contains("failed") {
    textView.setText("Login failed, please try again later");

你做的HttpPost应该从服务器返回一些东西。您可以根据需要随意提供信息。最好的方法是让服务器返回一个可以解析的JSON响应,然后获取详细信息

答案 2 :(得分:0)

当您的Android应用程序将数据发送到服务器时,服务器应该发回响应。

JSON格式现在非常普遍。

PHP是处理数据和响应的好工具。

这是一个关于如何做到这一点的例子

$response = array();

if($LoginSuccessfull){
  $response = array('success'=> true, 'message'=> 'logged in successfully';
}else{
  $response = array('success'=> false, 'message'=> 'loggin failure';
}

echo json_encode($response);

答案 3 :(得分:0)

从您的httpClient,您可以检查是否已设置cookie(假设您使用cookie来验证您的用户),您将从此代码中获取Cookie列表:

List<Cookie> cookies = client.getCookieStore().getCookies();

并检查cookie是否存在

相关问题