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){ | ... | ... |