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

Webサービスへのアクセスをブロックしている可能性があるのは、Androidデバイス上のファイアウォールアプリケーション(私の知る限り組み込みのものはありません)である可能性があります。

于 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 に答える