0

私の Android アプリは、公開 Web サイトで実行されている ASP NET WEB API サービスに POST を実行します。AVD エミュレーターでテストする場合に最適です。しかし、Androidフォンでテストすると...

「 http://www.deanblakely.comへの接続が拒否されました」

私の郵便番号は下に貼り付けられています ありがとう、ゲイリー

private String PostToCloudService(URL url, String entityString)
{
    String retstr = "";
    try
    {
        Log.w(getClass().getName(), "copy this: " + entityString );
        Log.w(getClass().getName(), "URL is: " + url );
        HttpResponse response = null;
        HttpParams myParams = new BasicHttpParams();
        HttpConnectionParams.setConnectionTimeout(myParams,5000);
        HttpConnectionParams.setSoTimeout(myParams, 5000);
        HttpClient httpclient = new DefaultHttpClient(myParams);

        HttpPost myPost = new HttpPost(url.toString());
        StringEntity se = new StringEntity(entityString);
        myPost.setEntity(se);
        myPost.setHeader("Accept", "application/json");
        myPost.setHeader("Content-type", "application/json");

        response = httpclient.execute(myPost);    

        BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));

        String line = "";

        while ((line = rd.readLine()) != null)
        {
            Log.w(getClass().getName(), "response from getentity is " + line);
            retstr = line;
        }        
    }
    catch (Exception e)
    {
        Log.w(getClass().getName(), e.getMessage().toString());
        retstr = "error  " + e.getMessage().toString();
    }

    return retstr;
}
4

1 に答える 1

0

AVDエミュレーターでテストするときにうまく機能します。しかし、Androidフォンでテストすると...

「 http://www.deanblakely.comへの接続が拒否されました」

私は過去に同様の問題を抱えていましたが、それらはすべて環境構成に影響を及ぼしました。エミュレーターを実行しているコンピューターは内部ネットワークに接続されていますが、デバイスは接続されていません。

これが実際に当てはまる場合は、通信しようとしているサービスでセットアップされている可能性があります。サービスが現在開発中であるか、他の理由で制限されている場合は、内部接続のみが許可されると思います。

于 2012-12-02T00:25:28.543 に答える