@ -1,20 +1,12 @@
package com.fanruan.api.net.http ;
import com.fanruan.api.macro.EncodeConstants ;
import com.fanruan.api.log.LogKit ;
import com.fanruan.api.net.http.rs.BaseHttpResponseHandle ;
import com.fanruan.api.macro.EncodeConstants ;
import com.fanruan.api.net.http.rs.HttpRequest ;
import com.fanruan.api.net.http.rs.HttpRequestType ;
import com.fanruan.api.net.http.rs.HttpResponseType ;
import com.fanruan.api.net.http.rs.StreamResponseHandle ;
import com.fanruan.api.net.http.rs.TextResponseHandle ;
import com.fanruan.api.net.http.rs.UploadResponseHandle ;
import com.fanruan.api.net.http.rs.* ;
import com.fr.json.JSONObject ;
import com.fr.third.guava.collect.Maps ;
import com.fr.third.org.apache.http.HttpEntity ;
import com.fr.third.org.apache.http.HttpEntityEnclosingRequest ;
import com.fr.third.org.apache.http.HttpHost ;
import com.fr.third.org.apache.http.NameValuePair ;
import com.fr.third.org.apache.http.NoHttpResponseException ;
import com.fr.third.org.apache.http.* ;
import com.fr.third.org.apache.http.client.HttpRequestRetryHandler ;
import com.fr.third.org.apache.http.client.config.RequestConfig ;
import com.fr.third.org.apache.http.client.entity.UrlEncodedFormEntity ;
@ -31,6 +23,7 @@ import com.fr.third.org.apache.http.conn.socket.LayeredConnectionSocketFactory;
import com.fr.third.org.apache.http.conn.socket.PlainConnectionSocketFactory ;
import com.fr.third.org.apache.http.conn.ssl.SSLConnectionSocketFactory ;
import com.fr.third.org.apache.http.entity.FileEntity ;
import com.fr.third.org.apache.http.entity.StringEntity ;
import com.fr.third.org.apache.http.entity.mime.HttpMultipartMode ;
import com.fr.third.org.apache.http.entity.mime.MultipartEntityBuilder ;
import com.fr.third.org.apache.http.impl.client.CloseableHttpClient ;
@ -45,20 +38,13 @@ import org.jetbrains.annotations.Nullable;
import javax.net.ssl.SSLContext ;
import javax.net.ssl.SSLException ;
import javax.net.ssl.SSLHandshakeException ;
import java.io.ByteArrayInputStream ;
import java.io.File ;
import java.io.IOException ;
import java.io.InterruptedIOException ;
import java.io.UnsupportedEncodingException ;
import java.io.* ;
import java.net.URI ;
import java.net.URISyntaxException ;
import java.net.URLEncoder ;
import java.net.UnknownHostException ;
import java.nio.charset.Charset ;
import java.util.ArrayList ;
import java.util.Collections ;
import java.util.List ;
import java.util.Map ;
import java.util.* ;
import static com.fanruan.api.net.http.rs.HttpRequestType.POST ;
@ -205,6 +191,30 @@ public class HttpKit {
} ) ;
}
/ * *
* 发起POST JSON请求并获取返回的文本
*
* @param url 响应请求的的服务器地址
* @param params POST请求的参数
* @return 服务器返回的文本内容
* /
public static String postJSON ( String url , JSONObject params , Map < String , String > headers ) throws IOException {
StringEntity jsonEntity = new StringEntity ( params . toString ( ) , "UTF-8" ) ;
jsonEntity . setContentEncoding ( "UTF-8" ) ;
if ( headers ! = null ) {
headers . put ( "Content-Type" , "application/json" ) ;
} else {
headers = new HashMap < > ( ) ;
headers . put ( "Content-Type" , "application/json" ) ;
}
return executeAndParse ( HttpRequest
. custom ( )
. headers ( headers )
. url ( url )
. post ( jsonEntity )
. build ( ) ) ;
}
/ * *
* 发起POST请求并获取返回的文本
*
@ -438,6 +448,7 @@ public class HttpKit {
/ * *
* 从指定的地址下载文件
*
* @param url 文件下载地址
* @return 文件的字节流
* @throws IOException 下载过程中出现错误则抛出此异常
@ -448,10 +459,11 @@ public class HttpKit {
/ * *
* 从指定的地址下载文件
* @param url 文件下载地址
* @param params 参数对
*
* @param url 文件下载地址
* @param params 参数对
* @param responseEncoding 响应的文件编码
* @param headers 请求头
* @param headers 请求头
* @return 文件的字节流
* @throws IOException 下载过程中出现错误则抛出此异常
* /