*/
/** * 以map格式传送参数 * @param url * @param map * @param timeout * @param encoding * @return */
@SuppressWarnings("deprecation") public static String postWay(String url, Map<String, String> map, int timeout, String encoding) { String result = ""; PostMethod postMethod = null; try { // 读取内容 HttpClient httpClient = new HttpClient(); // 设置超时 httpClient.setConnectionTimeout(timeout); if (encoding != null && !"".equals(encoding)) { // 设置编码 httpClient.getParams().setParameter( HttpMethodParams.HTTP_CONTENT_CHARSET, encoding); } postMethod = new PostMethod(url); postMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler()); // 参数 if (map != null && map.size() != 0) { int i = map.size(); NameValuePair[] params = new NameValuePair[i]; int k = 0; for (String key : map.keySet()) { params[k] = new NameValuePair(key, map.get(key)); k++; } postMethod.setRequestBody(params); } httpClient.executeMethod(postMethod); // 第一种方式 result = postMethod.getResponseBodyAsString(); } catch (Exception e) { logger.error("httpclient请求异常", e); } finally { postMethod.releaseConnection(); } return result; } /** * 以json格式传送参数 * @param url * @param json * @param timeout * @param encoding * @return */ public static String postWay(String url, String json,int timeout, String encoding) { String result = ""; PostMethod postMethod = null; try { // 读取内容 HttpClient httpClient = new HttpClient(); // 设置连接超时 httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(timeout); postMethod = new PostMethod(url); RequestEntity se = new StringRequestEntity(json, "application/json", encoding); postMethod.setRequestEntity(se); postMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,new DefaultHttpMethodRetryHandler()); //请求超时 postMethod.getParams().setParameter(HttpMethodParams.SO_TIMEOUT, 30000); httpClient.executeMethod(postMethod); result = postMethod.getResponseBodyAsString(); } catch (Exception e) { logger.error("httpclient请求异常", e); e.printStackTrace(); } finally { postMethod.releaseConnection(); } return result; } }