Android 不断获得;目标主机不能为空,也不能在参数中设置;
当我试图用一个特殊字符(字符“å”)向服务器发出HTTP请求时,我不断收到上面的错误(标题)。我试着打电话:Android 不断获得;目标主机不能为空,也不能在参数中设置;,android,url,exception,Android,Url,Exception,当我试图用一个特殊字符(字符“å”)向服务器发出HTTP请求时,我不断收到上面的错误(标题)。我试着打电话: _login = URLEncoder.encode(_login, "utf-8"); 但我还是有例外。如果我尝试更改URL,效果会很好。似乎它发生在我尝试的任何URL上,如果它有特殊字符。比如说http://www.ål.no 有人知道附近的工作吗?一种方法当然可以是使用IP地址。但我宁愿避免这样 谢谢你的帮助 部分源代码: private String _login =
_login = URLEncoder.encode(_login, "utf-8");
但我还是有例外。如果我尝试更改URL,效果会很好。似乎它发生在我尝试的任何URL上,如果它有特殊字符。比如说http://www.ål.no
有人知道附近的工作吗?一种方法当然可以是使用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();
}
}
private String\u login=”http://www.ål.no”;
HttpClient HttpClient=新的DefaultHttpClient();
试一试{
_login=URLEncoder.encode(_login,“utf-8”);
}捕获(不支持DencodingException e1){
//TODO自动生成的捕捉块
e1.printStackTrace();
}
HttpPost HttpPost=新的HttpPost(_登录);
List nameValuePairs=新的ArrayList();
//添加(新的BasicNameValuePair(“Mail”,this.Email));
//添加(新的BasicNameValuePair(“Password”,this.Password));
尝试
{
setEntity(新的UrlEncodedFormEntity(nameValuePairs));
BasicHttpResponse响应=null;
尝试
{
response=(BasicHttpResponse)httpclient.execute(httppost);
}
捕获(客户端协议例外e)
{
System.out.println(“基本响应”);
e、 printStackTrace();
}
}
编辑:找到一个解决方案。用萤火虫挖得更深一点。根据Firebug的说法,服务器在通信时有另一个名称(据我所知)。此名称不包含任何特殊字符,我成功地使用我的应用程序与服务器通信。谢谢你的帮助!:) 我想我理解你的要求。这里有一个链接,指向URL将识别的特殊字符列表 如果这不是你需要的,请告诉我
为了节省您的时间,您正在搜索的字符是%E5不确定这是否是同一个问题,但请检查以下问题: