|
|
@@ -1,22 +1,6 @@
|
|
|
package com.xunmei.core.weather.utils;
|
|
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
-import org.apache.http.HttpResponse;
|
|
|
-import org.apache.http.NameValuePair;
|
|
|
-import org.apache.http.client.HttpClient;
|
|
|
-import org.apache.http.client.entity.UrlEncodedFormEntity;
|
|
|
-import org.apache.http.client.methods.HttpDelete;
|
|
|
-import org.apache.http.client.methods.HttpGet;
|
|
|
-import org.apache.http.client.methods.HttpPost;
|
|
|
-import org.apache.http.client.methods.HttpPut;
|
|
|
-import org.apache.http.conn.ClientConnectionManager;
|
|
|
-import org.apache.http.conn.scheme.Scheme;
|
|
|
-import org.apache.http.conn.scheme.SchemeRegistry;
|
|
|
-import org.apache.http.conn.ssl.SSLSocketFactory;
|
|
|
-import org.apache.http.entity.ByteArrayEntity;
|
|
|
-import org.apache.http.entity.StringEntity;
|
|
|
-import org.apache.http.impl.client.DefaultHttpClient;
|
|
|
-import org.apache.http.message.BasicNameValuePair;
|
|
|
|
|
|
import javax.net.ssl.HttpsURLConnection;
|
|
|
import javax.net.ssl.SSLContext;
|
|
|
@@ -26,13 +10,9 @@ import java.io.*;
|
|
|
import java.net.ConnectException;
|
|
|
import java.net.URL;
|
|
|
import java.net.URLEncoder;
|
|
|
-import java.security.KeyManagementException;
|
|
|
-import java.security.NoSuchAlgorithmException;
|
|
|
import java.security.SecureRandom;
|
|
|
import java.security.cert.CertificateException;
|
|
|
import java.security.cert.X509Certificate;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
|
public class HttpUtils {
|
|
|
@@ -48,17 +28,6 @@ public class HttpUtils {
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
-/* public static HttpResponse doGet(String host, String path, String method, Map<String, String> headers, Map<String, String> querys) throws Exception {
|
|
|
- HttpClient httpClient = wrapClient(host);
|
|
|
-
|
|
|
- HttpGet request = new HttpGet(buildUrl(host, path, querys));
|
|
|
- for (Map.Entry<String, String> e : headers.entrySet()) {
|
|
|
- request.addHeader(e.getKey(), e.getValue());
|
|
|
- }
|
|
|
-
|
|
|
- return httpClient.execute(request);
|
|
|
- }*/
|
|
|
-
|
|
|
/**
|
|
|
* @param host
|
|
|
* @param path
|
|
|
@@ -158,170 +127,6 @@ public class HttpUtils {
|
|
|
return trustManagers;
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * post form
|
|
|
- *
|
|
|
- * @param host
|
|
|
- * @param path
|
|
|
- * @param method
|
|
|
- * @param headers
|
|
|
- * @param querys
|
|
|
- * @param bodys
|
|
|
- * @return
|
|
|
- * @throws Exception
|
|
|
- */
|
|
|
- public static HttpResponse doPost(String host, String path, String method, Map<String, String> headers, Map<String, String> querys, Map<String, String> bodys) throws Exception {
|
|
|
- HttpClient httpClient = wrapClient(host);
|
|
|
-
|
|
|
- HttpPost request = new HttpPost(buildUrl(host, path, querys));
|
|
|
- for (Map.Entry<String, String> e : headers.entrySet()) {
|
|
|
- request.addHeader(e.getKey(), e.getValue());
|
|
|
- }
|
|
|
-
|
|
|
- if (bodys != null) {
|
|
|
- List<NameValuePair> nameValuePairList = new ArrayList<NameValuePair>();
|
|
|
-
|
|
|
- for (String key : bodys.keySet()) {
|
|
|
- nameValuePairList.add(new BasicNameValuePair(key, bodys.get(key)));
|
|
|
- }
|
|
|
- UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(nameValuePairList, "utf-8");
|
|
|
- formEntity.setContentType("application/x-www-form-urlencoded; charset=UTF-8");
|
|
|
- request.setEntity(formEntity);
|
|
|
- }
|
|
|
-
|
|
|
- return httpClient.execute(request);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * Post String
|
|
|
- *
|
|
|
- * @param host
|
|
|
- * @param path
|
|
|
- * @param method
|
|
|
- * @param headers
|
|
|
- * @param querys
|
|
|
- * @param body
|
|
|
- * @return
|
|
|
- * @throws Exception
|
|
|
- */
|
|
|
- public static HttpResponse doPost(String host, String path, String method, Map<String, String> headers, Map<String, String> querys, String body) throws Exception {
|
|
|
- HttpClient httpClient = wrapClient(host);
|
|
|
-
|
|
|
- HttpPost request = new HttpPost(buildUrl(host, path, querys));
|
|
|
- for (Map.Entry<String, String> e : headers.entrySet()) {
|
|
|
- request.addHeader(e.getKey(), e.getValue());
|
|
|
- }
|
|
|
-
|
|
|
- if (StringUtils.isNotBlank(body)) {
|
|
|
- request.setEntity(new StringEntity(body, "utf-8"));
|
|
|
- }
|
|
|
-
|
|
|
- return httpClient.execute(request);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * Post stream
|
|
|
- *
|
|
|
- * @param host
|
|
|
- * @param path
|
|
|
- * @param method
|
|
|
- * @param headers
|
|
|
- * @param querys
|
|
|
- * @param body
|
|
|
- * @return
|
|
|
- * @throws Exception
|
|
|
- */
|
|
|
- public static HttpResponse doPost(String host, String path, String method, Map<String, String> headers, Map<String, String> querys, byte[] body) throws Exception {
|
|
|
- HttpClient httpClient = wrapClient(host);
|
|
|
-
|
|
|
- HttpPost request = new HttpPost(buildUrl(host, path, querys));
|
|
|
- for (Map.Entry<String, String> e : headers.entrySet()) {
|
|
|
- request.addHeader(e.getKey(), e.getValue());
|
|
|
- }
|
|
|
-
|
|
|
- if (body != null) {
|
|
|
- request.setEntity(new ByteArrayEntity(body));
|
|
|
- }
|
|
|
-
|
|
|
- return httpClient.execute(request);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * Put String
|
|
|
- *
|
|
|
- * @param host
|
|
|
- * @param path
|
|
|
- * @param method
|
|
|
- * @param headers
|
|
|
- * @param querys
|
|
|
- * @param body
|
|
|
- * @return
|
|
|
- * @throws Exception
|
|
|
- */
|
|
|
- public static HttpResponse doPut(String host, String path, String method, Map<String, String> headers, Map<String, String> querys, String body) throws Exception {
|
|
|
- HttpClient httpClient = wrapClient(host);
|
|
|
-
|
|
|
- HttpPut request = new HttpPut(buildUrl(host, path, querys));
|
|
|
- for (Map.Entry<String, String> e : headers.entrySet()) {
|
|
|
- request.addHeader(e.getKey(), e.getValue());
|
|
|
- }
|
|
|
-
|
|
|
- if (StringUtils.isNotBlank(body)) {
|
|
|
- request.setEntity(new StringEntity(body, "utf-8"));
|
|
|
- }
|
|
|
-
|
|
|
- return httpClient.execute(request);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * Put stream
|
|
|
- *
|
|
|
- * @param host
|
|
|
- * @param path
|
|
|
- * @param method
|
|
|
- * @param headers
|
|
|
- * @param querys
|
|
|
- * @param body
|
|
|
- * @return
|
|
|
- * @throws Exception
|
|
|
- */
|
|
|
- public static HttpResponse doPut(String host, String path, String method, Map<String, String> headers, Map<String, String> querys, byte[] body) throws Exception {
|
|
|
- HttpClient httpClient = wrapClient(host);
|
|
|
-
|
|
|
- HttpPut request = new HttpPut(buildUrl(host, path, querys));
|
|
|
- for (Map.Entry<String, String> e : headers.entrySet()) {
|
|
|
- request.addHeader(e.getKey(), e.getValue());
|
|
|
- }
|
|
|
-
|
|
|
- if (body != null) {
|
|
|
- request.setEntity(new ByteArrayEntity(body));
|
|
|
- }
|
|
|
-
|
|
|
- return httpClient.execute(request);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * Delete
|
|
|
- *
|
|
|
- * @param host
|
|
|
- * @param path
|
|
|
- * @param method
|
|
|
- * @param headers
|
|
|
- * @param querys
|
|
|
- * @return
|
|
|
- * @throws Exception
|
|
|
- */
|
|
|
- public static HttpResponse doDelete(String host, String path, String method, Map<String, String> headers, Map<String, String> querys) throws Exception {
|
|
|
- HttpClient httpClient = wrapClient(host);
|
|
|
-
|
|
|
- HttpDelete request = new HttpDelete(buildUrl(host, path, querys));
|
|
|
- for (Map.Entry<String, String> e : headers.entrySet()) {
|
|
|
- request.addHeader(e.getKey(), e.getValue());
|
|
|
- }
|
|
|
-
|
|
|
- return httpClient.execute(request);
|
|
|
- }
|
|
|
-
|
|
|
private static String buildUrl(String host, String path, Map<String, String> querys) throws UnsupportedEncodingException {
|
|
|
StringBuilder sbUrl = new StringBuilder();
|
|
|
sbUrl.append(host);
|
|
|
@@ -353,41 +158,5 @@ public class HttpUtils {
|
|
|
return sbUrl.toString();
|
|
|
}
|
|
|
|
|
|
- private static HttpClient wrapClient(String host) {
|
|
|
- HttpClient httpClient = new DefaultHttpClient();
|
|
|
- if (host.startsWith("https://")) {
|
|
|
- sslClient(httpClient);
|
|
|
- }
|
|
|
-
|
|
|
- return httpClient;
|
|
|
- }
|
|
|
-
|
|
|
- private static void sslClient(HttpClient httpClient) {
|
|
|
- try {
|
|
|
- SSLContext ctx = SSLContext.getInstance("TLS");
|
|
|
- X509TrustManager tm = new X509TrustManager() {
|
|
|
- public X509Certificate[] getAcceptedIssuers() {
|
|
|
- return null;
|
|
|
- }
|
|
|
|
|
|
- public void checkClientTrusted(X509Certificate[] xcs, String str) {
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- public void checkServerTrusted(X509Certificate[] xcs, String str) {
|
|
|
-
|
|
|
- }
|
|
|
- };
|
|
|
- ctx.init(null, new TrustManager[]{tm}, null);
|
|
|
- SSLSocketFactory ssf = new SSLSocketFactory(ctx);
|
|
|
- ssf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
|
|
|
- ClientConnectionManager ccm = httpClient.getConnectionManager();
|
|
|
- SchemeRegistry registry = ccm.getSchemeRegistry();
|
|
|
- registry.register(new Scheme("https", 443, ssf));
|
|
|
- } catch (KeyManagementException ex) {
|
|
|
- throw new RuntimeException(ex);
|
|
|
- } catch (NoSuchAlgorithmException ex) {
|
|
|
- throw new RuntimeException(ex);
|
|
|
- }
|
|
|
- }
|
|
|
}
|