我需要通过单例的HttpClient实现post操作,如果是HttpUrlConnection的话,可以调用setRequestProperty方法设置参数,设置完后,需要传入一个字符串,通过HttpURLConnection.getOutputStream().write(data)传入data,在HttpClient中,如何既设置类似setRequestProperty的参数,又传入类似data的字符串(或者byte数组)呢?
特此求助,请大神不吝赐教。感激不尽。

解决方案 »

  1.   

    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字符串,然后再传过去