我开发了一个简单的应用程序,从www.webservicex.net调用货币转换器webservice。并将其部署在GenyMotion AndroVM上。
但我收到了以下错误,
“无法通过端口80连接到www.webservicex.net: java.net.ConnectException:连接超时“
我们有代理,我也定义了代理设置。我可以使用AndroVM内的浏览器访问互联网。
请帮忙
答案 0 :(得分:1)
在Android中,系统的代理设置不适用于您在应用内发出的所有Http请求。它仅在浏览器中本地应用,这就是您可以使用它的原因。 每个应用程序都必须“手动”处理它。
我的第一个快速建议是使用OkHttp作为Http客户端,因为它会为您处理它。
或者您可以手动获取值并自行配置您的请求(从here收集):
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);