Commit 6d56ce8c424831f4adccf6e4af4ac27b27d90305

Authored by unknown
1 parent 947bb1d8
Exists in master

1.增加www-formurlencoded 请求

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