java - Unresolved 主机异常 Android

标签 java android rest

我正在尝试使用以下方法从 Android 应用程序调用 RESTful 网络服务:

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 权限。

我正在使用 eclipse 进行开发。

我看到它提到我可能需要配置代理,但由于我调用的 Web 服务在端口 80 上,这应该无关紧要吧?我可以用浏览器调用该方法。

有什么想法吗?

最佳答案

我认为问题可能出在第一行:

new HttpHost("http://" + ServiceWrapper.SERVER_HOST,ServiceWrapper.SERVER_PORT);

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

尝试删除 "http://",它应该可以工作:

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

关于java - Unresolved 主机异常 Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/992880/

相关文章:

javascript - XHR 加载失败 : POST java spring

java - 确定从何处加载特定类

java - 根据 ListView 中的点击替换 fragment

android - 如何滚动内容?

node.js - NodeJS 垃圾邮件 GET - REST API

angularjs - 如何正确调用外部 api 以在express应用程序中使用来构建我自己的restful api?

java - 在关机时停止所有 Spring 批处理作业 (CTRL-C)

java - 如何返回java中元素的当前索引?

android - 将实时背景添加到 Android View (如 Twitter 应用程序)

java - 带有 JSON 和 XML 的 Spring REST