4

Androidでapache.httpを使用していますが、ほとんどは正常に動作しますが、パラメーターを使用してgetリクエストを実行しようとすると、これらは送信されません。私は何を間違っていますか?これがコードです

HttpClient httpclient = new DefaultHttpClient();
HttpUriRequest request = new HttpGet(uri);

HttpParams p = new BasicHttpParams();
p.setParameter("param", "value");
request.setParams(p);

request.setHeader("Accept", "application/json, text/javascript, */*; q=0.01");

HttpResponse response = null;

try {
    response = httpclient.execute(request);
} catch (ClientProtocolException e) {
    e.printStackTrace();
}

サーバー上では、パラメーターなしでこれだけを取得しています

GET /api/v1/activity/ HTTP/1.1
Host: example.com
Connection: Keep-Alive
Accept-Encoding: gzip
Accept: application/json, text/javascript, */*; q=0.01

何か案は?

4

1 に答える 1

3

次のように URI を変更する必要があります。

HttpClient httpclient = new DefaultHttpClient();

String url = "http://example.com";
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add( new BasicNameValuePair( "param", "value" ) );
URI uri = new URI( url + "?" + URLEncodedUtils.format( params, "utf-8" );

HttpUriRequest request = new HttpGet(uri);

request.setHeader("Accept", "application/json, text/javascript, */*; q=0.01");

HttpResponse response = null;

try {
    response = httpclient.execute(request);
} catch (ClientProtocolException e) {
    e.printStackTrace();
}
于 2013-03-07T21:57:53.603 に答える