我开发了一个简单的应用程序,从 www.webservicex.net 调用货币转换器网络服务。并将其部署在 GenyMotion AndroVM 上。
但我得到以下错误,
“无法连接到端口 80 上的 www.webservicex.net:java.net.ConnectException:连接超时”
我们有代理,我也定义了代理设置。我可以使用 AndroVM 中的浏览器访问互联网。
请帮忙
我开发了一个简单的应用程序,从 www.webservicex.net 调用货币转换器网络服务。并将其部署在 GenyMotion AndroVM 上。
但我得到以下错误,
“无法连接到端口 80 上的 www.webservicex.net:java.net.ConnectException:连接超时”
我们有代理,我也定义了代理设置。我可以使用 AndroVM 中的浏览器访问互联网。
请帮忙
在 Android 中,系统的代理设置并不适用于您在应用内发出的所有 Http 请求。它仅在浏览器中本地应用,这就是您可以使用它的原因。每个应用程序都必须“手动”处理它。
我的第一个快速建议是使用OkHttp作为 Http 客户端,因为它会为您处理它。
或者您可以手动获取值并像这样配置自己的请求(从此处收集):
String host = System.getProperty("http.proxyHost");
String port = System.getProperty("http.proxyPort");
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpHost proxy = new HttpHost(host, Integer.parseInt(port));
httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);