From 6d56ce8c424831f4adccf6e4af4ac27b27d90305 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 3 Dec 2019 13:58:13 +0800 Subject: [PATCH] 1.增加www-formurlencoded 请求 --- src/main/java/com/taover/util/UtilHttpByOkHttp.java | 41 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 38 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/taover/util/UtilHttpByOkHttp.java b/src/main/java/com/taover/util/UtilHttpByOkHttp.java index 0a0ab34..58495a8 100644 --- a/src/main/java/com/taover/util/UtilHttpByOkHttp.java +++ b/src/main/java/com/taover/util/UtilHttpByOkHttp.java @@ -9,6 +9,7 @@ import java.security.KeyManagementException; import java.security.NoSuchAlgorithmException; import java.security.cert.X509Certificate; import java.util.HashMap; +import java.util.Iterator; import java.util.Map; import java.util.concurrent.TimeUnit; @@ -114,6 +115,16 @@ public class UtilHttpByOkHttp { return getHttpClient(url, timeoutInSecond).newCall(request).execute().body().string(); } + public static String sendPostXWwwFormUrlencodedJson(String url, Map headers, Map requestBodyMap, int timeoutInSecond) throws Exception{ + //请求体 + RequestBody requestBody = getReqeustBodyAapplicationXWwwFormUrlencoded(requestBodyMap); + + //http头信息拼装 + Request request = getRequestBuilder(url, headers).post(requestBody).build(); + + return getHttpClient(url, timeoutInSecond).newCall(request).execute().body().string(); + } + public static String sendDelete(String url, final Map headers, int timeoutInSecond) throws Exception { //http头信息拼装 Request request = getRequestBuilder(url, headers).delete().build(); @@ -127,7 +138,6 @@ public class UtilHttpByOkHttp { return getHttpClient(url, timeoutInSecond).newCall(request).execute().body().bytes(); } - public static OkHttpClient getHttpClient(String url, int timeoutInSecond){ OkHttpClient client = null; boolean isHttps = url.trim().toLowerCase().startsWith("https"); @@ -200,11 +210,36 @@ public class UtilHttpByOkHttp { } private static RequestBody getReqeustBodyTextPlain(String content){ - return RequestBody.create(MediaType.parse("text/plain;charse=utf-8"), content); + return RequestBody.create(MediaType.parse("text/plain;charset=utf-8"), content); + } + + private static RequestBody getReqeustBodyAapplicationXWwwFormUrlencoded(Map data){ + String content = ""; + if(data == null) { + return RequestBody.create(MediaType.parse("application/x-www-form-urlencoded;charset=utf-8"), content); + } + + Iterator keyIter = data.keySet().iterator(); + while(keyIter.hasNext()) { + String key = keyIter.next(); + String value = data.get(key); + if(key == null) { + continue; + } + if(value == null) { + value=""; + } + try { + content += key+"="+URLEncoder.encode(value, "utf-8")+"&"; + } catch (UnsupportedEncodingException e) { + UtilLog.errorForException(e, UtilHttpByOkHttp.class); + } + } + return RequestBody.create(MediaType.parse("application/x-www-form-urlencoded;charset=utf-8"), content); } private static RequestBody getReqeustBodyApplicationJson(String jsonStr){ - return RequestBody.create(MediaType.parse("application/json;charse=utf-8"), jsonStr); + return RequestBody.create(MediaType.parse("application/json;charset=utf-8"), jsonStr); } private static Request.Builder getRequestBuilder(String url, Map headers){ -- libgit2 0.21.2