我的电脑通过隧道连接到客户的网络,我正在呼叫客户网络中的网络服务。这在PC浏览器中运行良好,当我尝试通过Android应用程序访问它时,我得到 ClientProtocolException 。我尝试通过Android浏览器点击Web服务ip我能够在浏览器中看到IIS服务器响应但无法访问web服务。不是https网址,只是普通的网址。它不适用于任何版本的Android模拟器。
代码:
HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet(url);
HttpResponse response;
try {
response = httpclient.execute(httpget);
Log.i("Debug",response.getStatusLine().toString());
HttpEntity entity = response.getEntity();
if (entity != null) {
....
}
} catch (Exception e) {
e.printStackTrace();
}
答案 0 :(得分:1)
它可能是您的Android设备上可能阻止访问网络服务的防火墙应用程序(我不知道内置)。
答案 1 :(得分:1)
实际上,webservice中没有响应头。这就是我得到例外的原因。现在我打开一个套接字来获取响应,但是仍然没有正确响应头的请求不好。
答案 2 :(得分:0)
您是否尝试过设置网络代理?
httpclient.getHostConfiguration().setProxy("ip-address","port")
或
System.setProperty("http.proxyHost", "ip-address");
System.setPropery("http.proxyPort", "port");