提交 c05c3c60 authored 作者: 姜武杰's avatar 姜武杰

重写httpsutils

上级 d0f231d0
...@@ -5,12 +5,15 @@ import org.apache.http.HttpEntity; ...@@ -5,12 +5,15 @@ import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse; import org.apache.http.HttpResponse;
import org.apache.http.client.config.RequestConfig; import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.HttpPost; import org.apache.http.client.methods.HttpPost;
import org.apache.http.conn.ssl.NoopHostnameVerifier;
import org.apache.http.entity.StringEntity; import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients; import org.apache.http.impl.client.HttpClients;
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
import org.apache.http.ssl.SSLContextBuilder;
import org.apache.http.util.EntityUtils; import org.apache.http.util.EntityUtils;
import javax.net.ssl.SSLContext;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
@Slf4j @Slf4j
...@@ -20,15 +23,29 @@ public class HttpsUtils { ...@@ -20,15 +23,29 @@ public class HttpsUtils {
private static final int CONNECT_TIMEOUT = 5000; private static final int CONNECT_TIMEOUT = 5000;
private static final int READ_TIMEOUT = 5000; private static final int READ_TIMEOUT = 5000;
private static final CloseableHttpClient httpClient; private static PoolingHttpClientConnectionManager connManager;
private static CloseableHttpClient httpClient;
static { static {
PoolingHttpClientConnectionManager connManager = new PoolingHttpClientConnectionManager(); try {
// Create a connection manager with connection pool
connManager = new PoolingHttpClientConnectionManager();
connManager.setMaxTotal(MAX_TOTAL); connManager.setMaxTotal(MAX_TOTAL);
connManager.setDefaultMaxPerRoute(MAX_PER_ROUTE); connManager.setDefaultMaxPerRoute(MAX_PER_ROUTE);
// Create an HttpClient with the connection manager
SSLContext sslContext = new SSLContextBuilder()
.loadTrustMaterial(null, (certificate, authType) -> true)
.build();
httpClient = HttpClients.custom() httpClient = HttpClients.custom()
.setSSLContext(sslContext)
.setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE)
.setConnectionManager(connManager) .setConnectionManager(connManager)
.build(); .build();
} catch (Exception e) {
e.printStackTrace();
}
} }
public static String doPost(String url, int connTimeout, int readTimeout) throws Exception { public static String doPost(String url, int connTimeout, int readTimeout) throws Exception {
...@@ -55,4 +72,10 @@ public class HttpsUtils { ...@@ -55,4 +72,10 @@ public class HttpsUtils {
} }
return ""; return "";
} }
public static void main(String[] args) throws Exception {
String url = "https://www.baidu.com";
String result = HttpsUtils.doPost(url, 5000, 5000);
System.out.println(result);
}
} }
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论