java - Android:模拟器无法解析本地工作站的主机名

标签 java android httpclient

我正在尝试使用 apache httpClient 从 android 模拟器连接到运行我的计算机的网络应用程序。

HttpPost post = new HttpPost("http://dev.example.com:8443/gatekeeper/rs/authenticate/login");
post.setHeader("Content-type","application/x-www-form-urlencoded");
post.setEntity(new UrlEncodedFormEntity(formparams));
HttpClient client=new DefaultHttpClient();
response = client.execute(post);

我确实有如下所需的 android list 配置

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

我确实检查过我可以从模拟器上的浏览器访问互联网。我也无法从浏览器访问应用程序 URL。我的应用程序也因错误而失败

java.net.UnknownHostException: Unable to resolve host "dev.example.com": No address associated with hostname

当与我计算机的 IP 地址一起使用时,我的应用程序工作正常。我的主机文件中也有条目

192.168.1.8 dev.example.com

我在这里可以缺少什么?看起来 android 模拟器无法查看我的主机文件来解析主机名!

最佳答案

请在调用响应之前以编程方式检查连接

或者如果没有响应也会抛出这个异常

关于java - Android:模拟器无法解析本地工作站的主机名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18935321/

相关文章:

java - Android、Butterknife、BindView、最终

Android FragmentBreadCrumbs 已弃用?为什么?

java - `setBufferedSize()`方法有什么作用?

java - 在 for 循环中的操作之间交替

java - 将字符串转换为日期并格式化日期

Java错误: Unable to initialize main class

c# - 使用 HttpClient 发布 JSON 数据

java - 更改表查询不更新我的表

java - 如何以编程方式将 View 约束到 ConstraintLayout 中的父 View

java - 通过 VPN/代理的 JSoup