package com.hx.util; import org.apache.commons.io.IOUtils; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; import java.util.Map; /** * http 工具类 */ public class HttpMethodUtil { /** 请求http协议 获取信息工具 * @param url 请求链接 * @param data 请求数据(body) * @param keyValues form表单数据 key参数名称,value参数值 * @param header 请求头 * @param requestMethod 请求头方法,默认POST * @return */ public static String HttpURLUtilJson(String url, String data,Map keyValues,Map header,String requestMethod) { HttpURLConnection con = null; URL u = null; String wxMsgXml = null; try { StringBuilder dataP = new StringBuilder(); if (keyValues != null && !keyValues.isEmpty()) { for (Map.Entry entry : keyValues.entrySet()) { dataP.append((String)entry.getKey()).append("="); dataP.append(entry.getValue()); dataP.append("&"); } System.out.println("dataP:"+dataP.toString()); dataP.deleteCharAt(dataP.length() - 1); url = url+"?"+dataP; } if(StringUtils.isEmpty(requestMethod)){ requestMethod = "POST"; } u = new URL(url); con = (HttpURLConnection) u.openConnection(); con.setRequestMethod(requestMethod); con.setDoOutput(true); con.setDoInput(true); con.setUseCaches(false); con.setReadTimeout(300000); con.setRequestProperty("Charset", "UTF-8"); con.setRequestProperty("Content-Type", "application/json"); if(header != null){ for (Map.Entry entry : header.entrySet()) { con.setRequestProperty(entry.getKey(),entry.getValue()); } } if (data != null) { OutputStream os = con.getOutputStream(); os.write(data.getBytes("utf-8")); } if (con.getResponseCode() != 200){ throw new RuntimeException("请求url失败:"+con.getResponseCode()); } // 读取返回内容 wxMsgXml = IOUtils.toString(con.getInputStream(), "utf-8"); // //System.out.println("HttpURLUtil:"+wxMsgXml); } catch (Exception e) { e.printStackTrace(); } finally { if (con != null) { con.disconnect(); } } return wxMsgXml; } }