Web服务请求在android浏览器和代码中不起作用;但它在PC浏览器中工作

时间:2012-08-06 10:31:09

标签: java android web-services

我的电脑通过隧道连接到客户的网络,我正在呼叫客户网络中的网络服务。这在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();
}

3 个答案:

答案 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");