package com.expai.utils; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.ProtocolException; import java.net.URL; import java.util.Map; import java.util.Map.Entry; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Description:后台服务要调用其他架构服务post请求服务类 */ public class HttpPostUtils { private static Logger logger = LoggerFactory.getLogger(HttpPostUtils.class); /** * 发送请求 * @param url * @param params * @return */ public static String sendPost(String url,Map<String,String> params){ logger.debug("sendPost======================开始==========="); URL u = null; HttpURLConnection con = null; //构建请求参数 StringBuffer sb = new StringBuffer(); if(params != null){ for(Entry<String,String>e:params.entrySet()){ sb.append(e.getKey()); sb.append("="); sb.append(e.getValue()); sb.append("&"); } sb.substring(0, sb.length()-1); } logger.debug("send_url:"+url); logger.debug("send_data:"+sb.toString()); //发送请求 try { u = new URL(url); con = (HttpURLConnection)u.openConnection(); con.setRequestMethod("GET"); con.setDoInput(true); con.setDoOutput(true); con.setUseCaches(false); con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); OutputStreamWriter osw = new OutputStreamWriter(con.getOutputStream(), "UTF-8"); osw.write(sb.toString()); osw.flush(); osw.close(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (ProtocolException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }finally{ if(con!=null){ con.disconnect(); } } //读取返回的参数 StringBuffer buffer = new StringBuffer(); try { BufferedReader br = new BufferedReader(new InputStreamReader( con.getInputStream(), "UTF-8")); String temp; while ((temp = br.readLine()) != null) { buffer.append(temp); buffer.append("\n"); } } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return buffer.toString(); } }