微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 未解决的主机异常Android

我正在尝试使用以下方法Android应用程序调用RESTful Web服务:
HttpHost target = new HttpHost("http://" + ServiceWrapper.SERVER_HOST,ServiceWrapper.SERVER_PORT);
HttpGet get = new HttpGet("/list");
String result = null;
httpentity entity = null;
HttpClient client = new DefaultHttpClient();
try {
    HttpResponse response = client.execute(target,get);
    entity = response.getEntity();
    result = EntityUtils.toString(entity);
} catch (Exception e) {
    e.printstacktrace();
} finally {
    if (entity!=null)
        try {
            entity.consumeContent();
        } catch (IOException e) {}
}
return result;

我可以使用Android Emulator浏览器和我的机器浏览地址并查看xml结果.我给了我的应用程序的INTERNET许可.

我正在用日食开发

我已经看到它提到我可能需要配置一个代理,但是由于我打电话的Web服务是在80端口这应该不重要吗?我可以用浏览器调用方法.

有任何想法吗?

解决方法

我认为问题可能在第一行:
new HttpHost("http://" + ServiceWrapper.SERVER_HOST,ServiceWrapper.SERVER_PORT);

HttpHost构造函数需要一个主机名作为其第一个参数,而不是具有“http://”前缀的主机名.

尝试删除“http://”,它应该工作:

new HttpHost(ServiceWrapper.SERVER_HOST,ServiceWrapper.SERVER_PORT);

原文地址:https://www.jb51.cc/android/123201.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐