特殊文字 (文字 'å') を使用してサーバーに HTTP リクエストを送信しようとすると、上記のエラー (タイトル) が発生し続けます。私は電話しようとしました:
_login = URLEncoder.encode(_login, "utf-8");
しかし、私はまだ例外を取得します。URLを変更しようとすると、うまくいきます。特殊文字が含まれている場合、私が試したどの URL でも発生するようです。たとえばのようにhttp://www.ål.no
。
回避策について知っている人はいますか?もちろん、1 つの方法として IP アドレスを使用することもできます。しかし、私はむしろそれを避けたいと思います。
助けてくれてありがとう!
ソースコードの一部:
private String _login = "http://www.ål.no";
HttpClient httpclient = new DefaultHttpClient();
try {
_login = URLEncoder.encode(_login, "utf-8");
} catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
HttpPost httppost = new HttpPost(_login);
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
//nameValuePairs.add(new BasicNameValuePair("Mail", this.Email));
//nameValuePairs.add(new BasicNameValuePair("Password", this.Password));
try
{
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
BasicHttpResponse response = null;
try
{
response = (BasicHttpResponse) httpclient.execute(httppost);
}
catch (ClientProtocolException e)
{
System.out.println("BasicHttpResponse");
e.printStackTrace();
}
}
編集:回避策が見つかりました。Firebug を使用して、もう少し深く掘り下げました。Firebug によると、サーバーは通信時に別の名前を持っています (私が見る限り)。この名前には特殊文字が含まれておらず、アプリケーションを使用してサーバーとの通信に成功しました。助けてくれてありがとう!:)