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