diff --git a/yxt-common/yxt-common-base/src/main/java/com/yxt/common/base/utils/HttpUtils.java b/yxt-common/yxt-common-base/src/main/java/com/yxt/common/base/utils/HttpUtils.java index f401e11..2af9dd1 100644 --- a/yxt-common/yxt-common-base/src/main/java/com/yxt/common/base/utils/HttpUtils.java +++ b/yxt-common/yxt-common-base/src/main/java/com/yxt/common/base/utils/HttpUtils.java @@ -14,6 +14,18 @@ import org.apache.http.util.EntityUtils; import java.io.IOException; import java.util.Map; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.PrintWriter; +import java.net.URL; +import java.net.URLConnection; +import java.util.Iterator; +import java.util.Map; + /** * @author dimengzhe * @date 2021/7/1 14:23 @@ -22,6 +34,72 @@ import java.util.Map; public class HttpUtils { + private final Logger LOG = LogManager.getLogger(this.getClass()); + + /** + * 向指定 URL 发送POST方法的请求 + * + * @param url 发送请求的 URL + * @param paramMap 请求参数 + * @return 所代表远程资源的响应结果 + */ + public static String doPost(String url, Map paramMap) { + PrintWriter out = null; + BufferedReader in = null; + String result = ""; + + String param = ""; + Iterator it = paramMap.keySet().iterator(); + + while (it.hasNext()) { + String key = it.next(); + param += key + "=" + paramMap.get(key) + "&"; + } + + try { + URL realUrl = new URL(url); + // 打开和URL之间的连接 + URLConnection conn = realUrl.openConnection(); + // 设置通用的请求属性 + conn.setRequestProperty("accept", "*/*"); + conn.setRequestProperty("connection", "Keep-Alive"); + conn.setRequestProperty("Accept-Charset", "utf-8"); + conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); + // 发送POST请求必须设置如下两行 + conn.setDoOutput(true); + conn.setDoInput(true); + // 获取URLConnection对象对应的输出流 + out = new PrintWriter(conn.getOutputStream()); + // 发送请求参数 + out.print(param); + // flush输出流的缓冲 + out.flush(); + // 定义BufferedReader输入流来读取URL的响应 + in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8")); + String line; + while ((line = in.readLine()) != null) { + result += line; + } + } catch (Exception e) { + e.printStackTrace(); + } + //使用finally块来关闭输出流、输入流 + finally { + try { + if (out != null) { + out.close(); + } + if (in != null) { + in.close(); + } + } catch (IOException ex) { + ex.printStackTrace(); + } + } + return result; + } + + /** * 向指定 URL 发送POST方法的请求(数据格式为json) *