From e6dfe7752f934d8e9f166daa7f338614288aecd9 Mon Sep 17 00:00:00 2001
From: fhx <308050795@qq.com>
Date: 星期三, 22 五月 2024 18:38:00 +0800
Subject: [PATCH] 新增请求方法

---
 src/main/java/com/hx/util/HttpMethodUtil.java |   81 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 81 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/hx/util/HttpMethodUtil.java b/src/main/java/com/hx/util/HttpMethodUtil.java
index 553b5f7..efee5fd 100644
--- a/src/main/java/com/hx/util/HttpMethodUtil.java
+++ b/src/main/java/com/hx/util/HttpMethodUtil.java
@@ -1,10 +1,12 @@
 package com.hx.util;
 
+import com.alibaba.fastjson.JSONObject;
 import org.apache.commons.io.IOUtils;
 
 import java.io.OutputStream;
 import java.net.HttpURLConnection;
 import java.net.URL;
+import java.util.HashMap;
 import java.util.Map;
 
 /**
@@ -76,4 +78,83 @@
         return wxMsgXml;
     }
 
+    /** 璇锋眰http鍗忚 鑾峰彇淇℃伅宸ュ叿
+     * @param url 璇锋眰閾炬帴
+     * @param data 璇锋眰鏁版嵁(body)
+     * @param keyValues form琛ㄥ崟鏁版嵁 key鍙傛暟鍚嶇О锛寁alue鍙傛暟鍊�
+     * @param header 璇锋眰澶�
+     * @param requestMethod 璇锋眰澶存柟娉曪紝榛樿POST
+     * @return
+     */
+    public static String request(String url, String data,Map<String,Object> keyValues,Map<String,String> header,String requestMethod, String contentType) {
+        HttpURLConnection con = null;
+        URL u = null;
+        String wxMsgXml = null;
+        try {
+            StringBuilder dataP = new StringBuilder();
+            if (keyValues != null && !keyValues.isEmpty()) {
+                for (Map.Entry<String, Object> 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";
+            }
+
+            if(StringUtils.isEmpty(contentType)){
+                contentType = "application/json";
+            }
+
+            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", contentType);
+            if(header != null){
+                for (Map.Entry<String, String> entry : header.entrySet()) {
+                    con.setRequestProperty(entry.getKey(),entry.getValue());
+                }
+            }
+
+            if (data != null) {
+                OutputStream os = con.getOutputStream();
+                os.write(data.getBytes("utf-8"));
+            }
+
+            if(HttpURLConnection.HTTP_OK != con.getResponseCode() && HttpURLConnection.HTTP_CREATED != con.getResponseCode()){
+                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;
+    }
+
+    public static void main(String args[]){
+        String url = "https://test6.phiskin.com/phi_appt/fdd/callback/event";
+        JSONObject json = new JSONObject();
+        json.put("key", "value");
+        String data = "bizContent=" + json.toString();
+        Map<String, String> header = new HashMap<>();
+        header.put("test", "123");
+        String repStr = request(url, data, null, header, null, "application/x-www-form-urlencoded");
+    }
+
 }

--
Gitblit v1.8.0