From aa784ab65cc24caf45a4c38af7e5fdeb526eb393 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 14 五月 2019 14:49:20 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- utils/src/main/java/org/yeshi/utils/HttpUtil.java | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 43 insertions(+), 0 deletions(-) diff --git a/utils/src/main/java/org/yeshi/utils/HttpUtil.java b/utils/src/main/java/org/yeshi/utils/HttpUtil.java index 8f60fd8..877fb52 100644 --- a/utils/src/main/java/org/yeshi/utils/HttpUtil.java +++ b/utils/src/main/java/org/yeshi/utils/HttpUtil.java @@ -9,7 +9,9 @@ import java.net.MalformedURLException; import java.net.URL; import java.net.URLEncoder; +import java.util.ArrayList; import java.util.Iterator; +import java.util.List; import java.util.Map; import org.apache.commons.httpclient.Header; @@ -24,6 +26,18 @@ import org.apache.commons.httpclient.methods.multipart.Part; import org.apache.commons.httpclient.methods.multipart.StringPart; import org.apache.commons.io.FileUtils; +import org.apache.http.HttpHost; +import org.apache.http.auth.AuthScope; +import org.apache.http.auth.UsernamePasswordCredentials; +import org.apache.http.client.CredentialsProvider; +import org.apache.http.client.config.RequestConfig; +import org.apache.http.client.entity.UrlEncodedFormEntity; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.impl.client.BasicCredentialsProvider; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.util.EntityUtils; import org.yeshi.utils.entity.ProxyIP; import net.sf.json.JSONArray; @@ -100,6 +114,7 @@ HttpClient client = new HttpClient(); if (ipInfo != null) client.getHostConfiguration().setProxy(ipInfo.getIp(), ipInfo.getPort()); + client.getHttpConnectionManager().getParams().setConnectionTimeout(5000); try { GetMethod method = new GetMethod(url); if (headers != null) { @@ -117,6 +132,33 @@ e.printStackTrace(); } return ""; + } + + public static String get(String url, Map<String, String> headers, ProxyIP ipInfo, String userName, + String proxyPwd) { + CloseableHttpClient httpclient = null; + if (!StringUtil.isNullOrEmpty(userName)) { + CredentialsProvider credsProvider = new BasicCredentialsProvider(); + credsProvider.setCredentials(new AuthScope(ipInfo.getIp(), ipInfo.getPort()), + new UsernamePasswordCredentials(userName, proxyPwd)); + httpclient = HttpClients.custom().setDefaultCredentialsProvider(credsProvider).build(); + } else + HttpClients.createDefault(); + HttpHost proxy = null; + if (ipInfo.getPort() != 0 && ipInfo.getPort() != 80) { + proxy = new HttpHost(ipInfo.getIp(), ipInfo.getPort()); + } else + proxy = new HttpHost(ipInfo.getIp()); + RequestConfig config = RequestConfig.custom().setProxy(proxy).build(); + HttpPost post = new HttpPost(url); + try { + post.setConfig(config); + CloseableHttpResponse response = httpclient.execute(post); + return EntityUtils.toString(response.getEntity()); + } catch (Exception e) { + return null; + } + } public static String getAsString(String url, String fromCharset, String toCharset) { @@ -311,6 +353,7 @@ public static String post(String url, Map<String, String> map, Map<String, String> headers) { HttpClient client = new HttpClient(); + client.getHostConfiguration().setProxy("192.168.1.122", 8888); PostMethod pm = new PostMethod(url);// 鍒涘缓HttpPost瀵硅薄 NameValuePair[] ns = new NameValuePair[map.keySet().size()]; Iterator<String> its = map.keySet().iterator(); -- Gitblit v1.8.0