HttpResponse中的主机名可能不为null,对于android

前端之家收集整理的这篇文章主要介绍了HttpResponse中的主机名可能不为null,对于android前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我收到错误“目标主机不能为空,或设置参数”.

>我的清单文件中有Internet权限
>我在我的Url之前放了’http://’
>我对URL进行编码

这是我的代码

String url = "http://maps.google.com/maps/api/directions/json?origin=1600 Pennsylvania Avenue NW,Washington,DC 20500&destination=1029 Vermont Ave NW,DC 20005&sensor=false";
   HttpClient httpclient = new DefaultHttpClient();
   String goodURL = convertURL(url);//change weird characters for %etc
   HttpPost httppost = new HttpPost(goodURL);
   HttpResponse response = httpclient.execute(httppost);

在第5行(最后一行),我的程序抛出异常.这里是确切的错误

java.lang.IllegalArgumentException: Host name may not be null

我在方法convertURL中编码我的字符串…

goodURL = http://maps.google.com/maps/api/directions/json?origin=3雪松大道,新泽西州高地公园08904& destination = 604新泽西皮斯卡塔韦巴塞洛缪路604号08854& sensor = false

有什么建议么?
谢谢!

解决方法

我不知道你的URL编码方式是做什么的,但是如果你使用的框架像URLEncoder这样的方法,你绝对不应该传递完整的URL,只需要编码的参数列表来转义特殊字符.

对完整的URL进行编码将会将每个字符的百分比转换为:// into://和所有其他斜杠转换为/.

编码好后,看看你的goodUrl字符串的值.

猜你在找的Android相关文章