Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 不断获得;目标主机不能为空,也不能在参数中设置;_Android_Url_Exception - Fatal编程技术网

Android 不断获得;目标主机不能为空,也不能在参数中设置;

Android 不断获得;目标主机不能为空,也不能在参数中设置;,android,url,exception,Android,Url,Exception,当我试图用一个特殊字符(字符“å”)向服务器发出HTTP请求时,我不断收到上面的错误(标题)。我试着打电话: _login = URLEncoder.encode(_login, "utf-8"); 但我还是有例外。如果我尝试更改URL,效果会很好。似乎它发生在我尝试的任何URL上,如果它有特殊字符。比如说http://www.ål.no 有人知道附近的工作吗?一种方法当然可以是使用IP地址。但我宁愿避免这样 谢谢你的帮助 部分源代码: private String _login =

当我试图用一个特殊字符(字符“å”)向服务器发出HTTP请求时,我不断收到上面的错误(标题)。我试着打电话:

_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

不确定这是否是同一个问题,但请检查以下问题: