Commit 6d56ce8c424831f4adccf6e4af4ac27b27d90305
1 parent
947bb1d8
Exists in
master
1.增加www-formurlencoded 请求
Showing
1 changed file
with
38 additions
and
3 deletions
Show diff stats
src/main/java/com/taover/util/UtilHttpByOkHttp.java
| @@ -9,6 +9,7 @@ import java.security.KeyManagementException; | @@ -9,6 +9,7 @@ import java.security.KeyManagementException; | ||
| 9 | import java.security.NoSuchAlgorithmException; | 9 | import java.security.NoSuchAlgorithmException; |
| 10 | import java.security.cert.X509Certificate; | 10 | import java.security.cert.X509Certificate; |
| 11 | import java.util.HashMap; | 11 | import java.util.HashMap; |
| 12 | +import java.util.Iterator; | ||
| 12 | import java.util.Map; | 13 | import java.util.Map; |
| 13 | import java.util.concurrent.TimeUnit; | 14 | import java.util.concurrent.TimeUnit; |
| 14 | 15 | ||
| @@ -114,6 +115,16 @@ public class UtilHttpByOkHttp { | @@ -114,6 +115,16 @@ public class UtilHttpByOkHttp { | ||
| 114 | return getHttpClient(url, timeoutInSecond).newCall(request).execute().body().string(); | 115 | return getHttpClient(url, timeoutInSecond).newCall(request).execute().body().string(); |
| 115 | } | 116 | } |
| 116 | 117 | ||
| 118 | + public static String sendPostXWwwFormUrlencodedJson(String url, Map<String, String> headers, Map<String, String> requestBodyMap, int timeoutInSecond) throws Exception{ | ||
| 119 | + //请求体 | ||
| 120 | + RequestBody requestBody = getReqeustBodyAapplicationXWwwFormUrlencoded(requestBodyMap); | ||
| 121 | + | ||
| 122 | + //http头信息拼装 | ||
| 123 | + Request request = getRequestBuilder(url, headers).post(requestBody).build(); | ||
| 124 | + | ||
| 125 | + return getHttpClient(url, timeoutInSecond).newCall(request).execute().body().string(); | ||
| 126 | + } | ||
| 127 | + | ||
| 117 | public static String sendDelete(String url, final Map<String, String> headers, int timeoutInSecond) throws Exception { | 128 | public static String sendDelete(String url, final Map<String, String> headers, int timeoutInSecond) throws Exception { |
| 118 | //http头信息拼装 | 129 | //http头信息拼装 |
| 119 | Request request = getRequestBuilder(url, headers).delete().build(); | 130 | Request request = getRequestBuilder(url, headers).delete().build(); |
| @@ -127,7 +138,6 @@ public class UtilHttpByOkHttp { | @@ -127,7 +138,6 @@ public class UtilHttpByOkHttp { | ||
| 127 | return getHttpClient(url, timeoutInSecond).newCall(request).execute().body().bytes(); | 138 | return getHttpClient(url, timeoutInSecond).newCall(request).execute().body().bytes(); |
| 128 | } | 139 | } |
| 129 | 140 | ||
| 130 | - | ||
| 131 | public static OkHttpClient getHttpClient(String url, int timeoutInSecond){ | 141 | public static OkHttpClient getHttpClient(String url, int timeoutInSecond){ |
| 132 | OkHttpClient client = null; | 142 | OkHttpClient client = null; |
| 133 | boolean isHttps = url.trim().toLowerCase().startsWith("https"); | 143 | boolean isHttps = url.trim().toLowerCase().startsWith("https"); |
| @@ -200,11 +210,36 @@ public class UtilHttpByOkHttp { | @@ -200,11 +210,36 @@ public class UtilHttpByOkHttp { | ||
| 200 | } | 210 | } |
| 201 | 211 | ||
| 202 | private static RequestBody getReqeustBodyTextPlain(String content){ | 212 | private static RequestBody getReqeustBodyTextPlain(String content){ |
| 203 | - return RequestBody.create(MediaType.parse("text/plain;charse=utf-8"), content); | 213 | + return RequestBody.create(MediaType.parse("text/plain;charset=utf-8"), content); |
| 214 | + } | ||
| 215 | + | ||
| 216 | + private static RequestBody getReqeustBodyAapplicationXWwwFormUrlencoded(Map<String, String> data){ | ||
| 217 | + String content = ""; | ||
| 218 | + if(data == null) { | ||
| 219 | + return RequestBody.create(MediaType.parse("application/x-www-form-urlencoded;charset=utf-8"), content); | ||
| 220 | + } | ||
| 221 | + | ||
| 222 | + Iterator<String> keyIter = data.keySet().iterator(); | ||
| 223 | + while(keyIter.hasNext()) { | ||
| 224 | + String key = keyIter.next(); | ||
| 225 | + String value = data.get(key); | ||
| 226 | + if(key == null) { | ||
| 227 | + continue; | ||
| 228 | + } | ||
| 229 | + if(value == null) { | ||
| 230 | + value=""; | ||
| 231 | + } | ||
| 232 | + try { | ||
| 233 | + content += key+"="+URLEncoder.encode(value, "utf-8")+"&"; | ||
| 234 | + } catch (UnsupportedEncodingException e) { | ||
| 235 | + UtilLog.errorForException(e, UtilHttpByOkHttp.class); | ||
| 236 | + } | ||
| 237 | + } | ||
| 238 | + return RequestBody.create(MediaType.parse("application/x-www-form-urlencoded;charset=utf-8"), content); | ||
| 204 | } | 239 | } |
| 205 | 240 | ||
| 206 | private static RequestBody getReqeustBodyApplicationJson(String jsonStr){ | 241 | private static RequestBody getReqeustBodyApplicationJson(String jsonStr){ |
| 207 | - return RequestBody.create(MediaType.parse("application/json;charse=utf-8"), jsonStr); | 242 | + return RequestBody.create(MediaType.parse("application/json;charset=utf-8"), jsonStr); |
| 208 | } | 243 | } |
| 209 | 244 | ||
| 210 | private static Request.Builder getRequestBuilder(String url, Map<String, String> headers){ | 245 | private static Request.Builder getRequestBuilder(String url, Map<String, String> headers){ |