package com.hehenian.web.common.util; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.HttpClient; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; import org.apache.log4j.Logger; import com.hehenian.biz.common.base.result.IResult; import com.hehenian.biz.common.base.result.ResultSupport; public class HttpClientUtils { private static final Logger logger = Logger.getLogger(HttpClientUtils.class); public static IResult<?> post(String url, Map<String, String> params) { IResult<String> result = new ResultSupport<String>(); HttpClient client = new DefaultHttpClient(); InputStream inputStream = null; try { List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1); for (String key : params.keySet()) { nameValuePairs.add(new BasicNameValuePair(key, params.get(key))); } HttpPost post = new HttpPost(url); post.setEntity(new UrlEncodedFormEntity(nameValuePairs, "utf-8")); HttpResponse response = client.execute(post); inputStream = response.getEntity().getContent(); BufferedReader rd = new BufferedReader(new InputStreamReader(inputStream)); String line = ""; StringBuffer resultString = new StringBuffer(); while ((line = rd.readLine()) != null) { resultString.append(line); } result.setSuccess(true); result.setModel(resultString.toString()); } catch (Exception e) { result.setSuccess(false); result.setModel("发送请求错误:" + e.getMessage()); logger.error(e.getMessage(), e); } finally { try { if (inputStream != null) { inputStream.close(); } } catch (Exception ignore) { } client.getConnectionManager().shutdown(); } return result; } }