3

我的 PC 通过隧道连接到客户端的网络,我正在调用客户端网络中的 Web 服务。这在 PC 浏览器中运行良好,当我尝试通过 android 应用程序访问它时,我得到ClientProtocolException。我试图通过 android 浏览器访问 web 服务 ip 我能够在浏览器中看到 IIS 服务器响应,但无法访问 web 服务。不是https url,只是普通的http url。它不适用于任何版本的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();
}
4

3 回答 3

1

它可能是您的 Android 设备上的防火墙应用程序(据我所知没有内置),它可能会阻止对 Web 服务的访问。

于 2012-09-28T14:07:31.853 回答
1

实际上,Web 服务中没有响应标头。这就是为什么我得到了例外。现在我打开了一个套接字来获取响应,但是没有正确响应头的请求仍然不好。

于 2012-10-01T12:22:13.377 回答
0

您是否尝试过设置 Web 代理?

httpclient.getHostConfiguration().setProxy("ip-address","port")

或者

System.setProperty("http.proxyHost", "ip-address");
System.setPropery("http.proxyPort", "port");
于 2012-08-12T06:49:59.910 回答