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 | 9 | import java.security.NoSuchAlgorithmException; |
| 10 | 10 | import java.security.cert.X509Certificate; |
| 11 | 11 | import java.util.HashMap; |
| 12 | +import java.util.Iterator; | |
| 12 | 13 | import java.util.Map; |
| 13 | 14 | import java.util.concurrent.TimeUnit; |
| 14 | 15 | |
| ... | ... | @@ -114,6 +115,16 @@ public class UtilHttpByOkHttp { |
| 114 | 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 | 128 | public static String sendDelete(String url, final Map<String, String> headers, int timeoutInSecond) throws Exception { |
| 118 | 129 | //http头信息拼装 |
| 119 | 130 | Request request = getRequestBuilder(url, headers).delete().build(); |
| ... | ... | @@ -127,7 +138,6 @@ public class UtilHttpByOkHttp { |
| 127 | 138 | return getHttpClient(url, timeoutInSecond).newCall(request).execute().body().bytes(); |
| 128 | 139 | } |
| 129 | 140 | |
| 130 | - | |
| 131 | 141 | public static OkHttpClient getHttpClient(String url, int timeoutInSecond){ |
| 132 | 142 | OkHttpClient client = null; |
| 133 | 143 | boolean isHttps = url.trim().toLowerCase().startsWith("https"); |
| ... | ... | @@ -200,11 +210,36 @@ public class UtilHttpByOkHttp { |
| 200 | 210 | } |
| 201 | 211 | |
| 202 | 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 | 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 | 245 | private static Request.Builder getRequestBuilder(String url, Map<String, String> headers){ | ... | ... |