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