3

このエコーを読む必要があります:

http://wee.co.il/Ski/weatherScript.php?op=3

文字列に、私は試しました:

class RetreiveEcho extends AsyncTask<String, Void, String> 
{
    private static final String TAG = "Her";

    @Override
    protected String doInBackground(String... params) {

        DefaultHttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost("http://wee.co.il/Ski/weatherScript.php?op=3");

        Log.d(TAG, "Hello!");
        try {
            HttpResponse response = httpclient.execute(httppost);
            Log.d(TAG, ""+response);
        } catch (ClientProtocolException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        return null;
    }
}

今のところ、ログには次の情報しか表示されません。

 org.apache.http.message.BasicHttpResponse@4132e5a8
4

3 に答える 3

3

コード内のHTTPResponseオブジェクトは、応答を保持するJavaオブジェクトです。普通の文字列ではありません。したがって、オブジェクトを印刷すると、指定されたログ出力が得られます。phpエコーにアクセスするには、次のコードを試してください。

response = httpClient.execute(targetHost, targetGet);
HttpEntity entity = response.getEntity();
String htmlResponse = EntityUtils.toString(entity);
于 2012-12-02T12:23:34.880 に答える
1

そのメソッドを使用してHTTPEntityからをフェッチできます。その内容をメソッドによって出力ストリームに書き込むことができます。HTTPResponsegetEntity()writeTo(OutputStream outstream)

于 2012-12-02T12:24:04.033 に答える
0

これを行うことで簡単にフェッチできます

   HttpClient httpclient=new DefaultHttpClient(); 
   HttpPost httppost=new  HttpPost("http://192.168.10.104/android/sample.php");
   HttpResponse response = httpclient.execute(httppost);
   String str =  EntityUtils.toString(response.getEntity());
于 2013-11-26T11:22:40.053 に答える