2

助けを求めています!サーバー認証を行い、サーバーからの応答を取得するコードがいくつかあります。Java プロジェクトの Eclipse で実行すると、次のような reddirect 応答が返されます。

<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());

何が問題ですか?お時間ありがとうございました!

4

3 に答える 3

0

追加するのを忘れたようですね

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

AndroidManifest.xmlで。このチュートリアルをご覧ください

于 2012-07-03T09:26:09.893 に答える
0
  1. これが認証コードである場合は、HTML リフレッシュ メタタグではなくヘッダー経由でリダイレクトを使用する必要があります。サーバーは Location: http:/authenticated.jsp fe を発行する必要があります
  2. 実際に何が起こっているかを確認するには、Wireshark を使用します。その後、あなたはもう盲目ではありません。Here - Android からのリクエスト here サーバーからの応答。時間を費やすのに非常に便利なツールです。
于 2012-07-03T09:37:13.283 に答える
0

別の で HTTP リクエストを実行していないことが原因である可能性がありますThread。詳細については、こちらをご覧ください。

Ice Cream Sandwich がアプリをクラッシュさせる理由

于 2012-07-03T12:34:30.983 に答える