0

次のコードでURLを作成します。

String login = rootActivity.getString(R.string.url_authentication);
login = login + "user=" + mySharedPreferences.getString("username", "invalid") + "&" + "key=" + mySharedPreferences.getString("key", "invalid");
login = login.toLowerCase(Locale.US);
System.out.println("Logging in at " + login);
new HttpConnection(handler).get(login);

視覚的に見る限り、URLは有効ですが、アンパサンドのインデックスのURLに不正な文字が含まれているため、HttpConnectionは失敗します。私が本当に困惑しているのは、アプリのインストール数が1,000〜5,000で、過去1年間に合計2つのレポートがあります。どちらもSamsungデバイスを使用しているアメリカのユーザーからのものなので、文字エンコードの問題ではないかと思います。

4

3 に答える 3

1

ログインとは何かわかりませんが、最後に疑問符がありますか?www.example.comuser = "something"&key = "somethingElse"のようなものでない場合、それは機能しません。

于 2012-11-28T15:43:52.557 に答える
1

raw&(amplisand)があるとエラーが発生するため、特殊文字をエンコードする必要があります。

これを行う:

 String login = URLEncoder.encode(login);

http://developer.android.com/reference/java/net/URLEncoder.html#encode(java.lang.String)

于 2012-11-28T15:44:39.770 に答える
1

パラメータをurlEncodeすることを忘れないでください。

login = login + "user=" + URLEncoder.encode( mySharedPreferences.getString("username", "invalid") ) + "&" + "key=" + URLEncoder.encode( mySharedPreferences.getString("key", "invalid") );
于 2012-11-28T15:45:47.623 に答える