我正在尝试使用 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/