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轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内...