0

Post リクエストをサーバーに送信しようとしていますが、データ エラーが返されます。送信している正確なリクエスト行を確認したい。基本的に私はやっています:

DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(SERVER);
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("data1", data1));
nameValuePairs.add(new BasicNameValuePair("data2", data2));
....
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

(here I want to see my request, something like: 
'data1=data1&data2=data2' http://[server.url] )

HttpResponse response = httpClient.execute(httpPost);
HttpEntity entity = response.getEntity();

回答ありがとうございます

4

3 に答える 3

0

試す

String url = "http://serverurl";
for(int i =0;i<nameValuePairs.size;i++)
{
url = url+"?"+nameValuePairs.get(0).getName()+"="+nameValuePairs.get(0).getValue();
}
Log.v("your url is",url);
于 2012-10-08T08:15:34.773 に答える
0

post.getEntity()。getContent()。read(); このコードを使用して、HttpPostでリクエストパラメータとして設定したエンティティ全体を読み取ります。ログに出力するには、このメソッドを使用してInputStreamを文字列に変換します

public static String convertStreamToString (InputStream is) {

    BufferedReader reader = new BufferedReader( new InputStreamReader( is ) );
    StringBuilder sb = new StringBuilder();

    String line = null;
    try {
        while ((line = reader.readLine()) != null) {
            sb.append( line + "\n" );
        }
    }
    catch (IOException e) {
        Log.d( "IOException", "Error occured during convertString " + e.getMessage() );
        e.printStackTrace();
    }
    finally {
        try {
            is.close();
        }
        catch (IOException e) {
            Log.d( "IOException", "Error occured on closing buffer " + e.getMessage() );
            e.printStackTrace();
        }
    }
    return sb.toString();
}

次に、Log.d( "RequestEntity"、convertStreamToString(post.getEntity()。getCotent());と記述します。

于 2012-10-08T08:32:59.327 に答える
0

最後の行 (getEntity) を削除し、代わりに次のようにします。

HttpResponse response = httpClient.execute(httpPost);
BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));

StringBuilder builder = new StringBuilder();
String line = "";
while ((line = reader.readLine()) != null) {
    builder.append(line);
}

Strong html = builder.toString();
于 2012-10-08T08:38:51.807 に答える