我需要通过单例的HttpClient实现post操作,如果是HttpUrlConnection的话,可以调用setRequestProperty方法设置参数,设置完后,需要传入一个字符串,通过HttpURLConnection.getOutputStream().write(data)传入data,在HttpClient中,如何既设置类似setRequestProperty的参数,又传入类似data的字符串(或者byte数组)呢?
特此求助,请大神不吝赐教。感激不尽。
------解决方案--------------------
DefaultHttpClient client=new DefaultHttpClient(new BasicHttpParams());
client.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 10000);
HttpPost post = new HttpPost(url);
List<NameValuePair> httpParams = new ArrayList<NameValuePair>();
// 设置HTTP POST请求参数
httpParams.add(new BasicNameValuePair ("action", String.valueOf(RequestType.RegisterUser)));
httpParams.add(new BasicNameValuePair ("mac", mac));
post.setEntity(new UrlEncodedFormEntity(httpParams, HTTP.UTF_8));
如果是复杂的类型,我建议你先转换为json字符串,然后再传过去