package com.hz.util.http; import com.hx.util.StringUtils; import com.hz.util.http.dto.HttpHzResponse; import org.apache.commons.io.IOUtils; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; import java.util.Iterator; import java.util.Map; public class HttpHzUtil { /**请求方法*/ public static final String METHOD_POST = "POST"; /**编码*/ public static final String CHARSET = "UTF-8"; /**请求 * @param url 请求链接 * @param bodyData 请求body数据 * @param keyValues 连接携带参数 * @param header 表头携带参数 * @param requestMethod 请求类型,默认:POST * @param outTime 超时时间(毫秒),默认:300000 * @return */ public static HttpHzResponse HttpURLUtilJson(String url, String bodyData, Map keyValues, Map header, String requestMethod, Integer outTime) { HttpHzResponse httpHzResponse = new HttpHzResponse(); HttpURLConnection con = null; try { StringBuilder dataP = new StringBuilder(); Iterator var9; Map.Entry entry; if (keyValues != null && !keyValues.isEmpty()) { var9 = keyValues.entrySet().iterator(); while(var9.hasNext()) { entry = (Map.Entry)var9.next(); dataP.append((String)entry.getKey()).append("="); dataP.append(entry.getValue()); dataP.append("&"); } dataP.deleteCharAt(dataP.length() - 1); url = url + "?" + dataP; } if (StringUtils.isEmpty(requestMethod)) { requestMethod = METHOD_POST; } if(outTime == null || outTime < 0){ outTime = 300000; } URL httpUrl = new URL(url); con = (HttpURLConnection)httpUrl.openConnection(); con.setRequestMethod(requestMethod); con.setDoOutput(true); con.setDoInput(true); con.setUseCaches(false); con.setReadTimeout(outTime); con.setRequestProperty("Charset", CHARSET); con.setRequestProperty("Content-Type", "application/json"); if (header != null) { var9 = header.entrySet().iterator(); while(var9.hasNext()) { entry = (Map.Entry)var9.next(); con.setRequestProperty((String)entry.getKey(), (String)entry.getValue()); } } if (bodyData != null) { OutputStream os = con.getOutputStream(); os.write(bodyData.getBytes(CHARSET)); } httpHzResponse.setCode(con.getResponseCode()+""); if(con.getErrorStream() != null){ httpHzResponse.setMsg(IOUtils.toString(con.getErrorStream(), CHARSET)); } if(HttpURLConnection.HTTP_OK == con.getResponseCode() || HttpURLConnection.HTTP_CREATED == con.getResponseCode()){ httpHzResponse.setData(IOUtils.toString(con.getInputStream(), CHARSET)); } } catch (Exception var14) { var14.printStackTrace(); } finally { if (con != null) { con.disconnect(); } } return httpHzResponse; } }