2

我正在寻求帮助!我有一些代码执行服务器身份验证并从服务器检索响应。当我在我的java项目中的eclipse中执行它时,我得到了reddirrect响应,例如:

<html><head><meta http-equiv="refresh" content="0;url=SiteIamLoggingPageURL/"/></head></html>

但是当我在我的 android 应用程序中执行相同的代码时,我得到的响应等于登录失败的场景。

HttpPost post = new HttpPost(loginPageAdress);
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
//nameValuePairs.add(new BasicNameValuePair("remember", "1"));
nameValuePairs
        .add(new BasicNameValuePair("email", "email"));
nameValuePairs.add(new BasicNameValuePair("password", "password"));

post.setEntity(new UrlEncodedFormEntity(nameValuePairs, "utf-8"));
StringBuilder stringBuilder = new StringBuilder();

HttpResponse response = client.execute(post, httpContext);
BufferedReader rd = new BufferedReader(new InputStreamReader(response
        .getEntity().getContent(), "UTF-8"));
String line = "";
while ((line = rd.readLine()) != null) {
    stringBuilder.append(line).append("\n");
}
System.out.println(stringBuilder.toString());

问题是什么?o 感谢您的宝贵时间!

4

3 回答 3

0

这可能是因为您没有在单独的Thread. 在此处阅读有关此内容的更多信息:

为什么冰淇淋三明治会使您的应用程序崩溃

于 2012-07-03T12:34:30.983 回答
0

听起来你忘了添加

 <uses-permission android:name="android.permission.INTERNET" />

在 AndroidManifest.xml 中。看看这个教程

于 2012-07-03T09:26:09.893 回答
0
  1. 如果这是您的身份验证代码,您必须使用通过标头重定向而不是通过 HTML 刷新元标记。服务器应该发出位置:http://authenticated.jsp fe
  2. 要检查实际情况,请使用 Wireshark。那你就不再瞎了。这里 - 来自 Android 的请求,这里来自服务器的回答。这是一个非常有用的工具,花一些时间使用它。
于 2012-07-03T09:37:13.283 回答