HttpGet params not being sent httpget.setParams(params)不好使

错误的代码

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();

}

 

解决方案

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();

}

 

你可能感兴趣的:(params)