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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM