|  | @ -1,158 +0,0 @@
 | 
	
		
			
				|  |  | package com.yihu.wlyy.statistics.util.http;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
 | 
	
		
			
				|  |  | import org.apache.http.conn.ssl.TrustSelfSignedStrategy;
 | 
	
		
			
				|  |  | import org.apache.http.ssl.SSLContexts;
 | 
	
		
			
				|  |  | import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import javax.net.ssl.SSLContext;
 | 
	
		
			
				|  |  | import java.io.File;
 | 
	
		
			
				|  |  | import java.util.Map;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | /**
 | 
	
		
			
				|  |  |  * Created by hzp on 2016/8/9.
 | 
	
		
			
				|  |  |  */
 | 
	
		
			
				|  |  | @Service
 | 
	
		
			
				|  |  | public class HttpHelper {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     private String sslKeystore;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     private String sslPassword;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     private String httpsUser;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     private String httpsUserPassword;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     private SSLConnectionSocketFactory  getDefaultSSL()
 | 
	
		
			
				|  |  |     {
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             if (sslKeystore != null && sslKeystore.length() > 0 && sslPassword != null && sslPassword.length() > 0) {
 | 
	
		
			
				|  |  |                 SSLContext sslContext = SSLContexts.custom()
 | 
	
		
			
				|  |  |                         .loadTrustMaterial(new File(sslKeystore), sslPassword.toCharArray(),
 | 
	
		
			
				|  |  |                                 new TrustSelfSignedStrategy())
 | 
	
		
			
				|  |  |                         .build();
 | 
	
		
			
				|  |  |                 return new SSLConnectionSocketFactory(
 | 
	
		
			
				|  |  |                         sslContext,
 | 
	
		
			
				|  |  |                         new String[]{"TLSv1"},
 | 
	
		
			
				|  |  |                         null,
 | 
	
		
			
				|  |  |                         null);
 | 
	
		
			
				|  |  |             } else {
 | 
	
		
			
				|  |  |                 return null;
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         catch (Exception ex)
 | 
	
		
			
				|  |  |         {
 | 
	
		
			
				|  |  |             System.out.print("获取SSL配置失败!");
 | 
	
		
			
				|  |  |             return null;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /************************** Get方法 ******************************************/
 | 
	
		
			
				|  |  |     public HttpResponse get(String url)
 | 
	
		
			
				|  |  |     {
 | 
	
		
			
				|  |  |         return get(url,null,null);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     public HttpResponse get(String url,Map<String,Object> params)
 | 
	
		
			
				|  |  |     {
 | 
	
		
			
				|  |  |         return get(url,params,null);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     public HttpResponse get(String url,Map<String,Object> params,Map<String,Object> header)
 | 
	
		
			
				|  |  |     {
 | 
	
		
			
				|  |  |         if(url.startsWith("https"))
 | 
	
		
			
				|  |  |         {
 | 
	
		
			
				|  |  |             return get(url,params,header,getDefaultSSL(),httpsUser,httpsUserPassword);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         else{
 | 
	
		
			
				|  |  |             //默认http不走ssl和用户密码
 | 
	
		
			
				|  |  |             return get(url, params, header, null, null, null);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     public HttpResponse get(String url,Map<String,Object> params,Map<String,Object> header,SSLConnectionSocketFactory ssl,String user,String password)
 | 
	
		
			
				|  |  |     {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return HttpClientUtil.request("GET", url, params, header, ssl, user, password);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /************************** Post方法 ******************************************/
 | 
	
		
			
				|  |  |     public HttpResponse post(String url)
 | 
	
		
			
				|  |  |     {
 | 
	
		
			
				|  |  |         return post(url, null, null);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     public HttpResponse post(String url,Map<String,Object> params)
 | 
	
		
			
				|  |  |     {
 | 
	
		
			
				|  |  |         return post(url, params, null);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     public HttpResponse post(String url,Map<String,Object> params,Map<String,Object> header)
 | 
	
		
			
				|  |  |     {
 | 
	
		
			
				|  |  |         if(url.startsWith("https"))
 | 
	
		
			
				|  |  |         {
 | 
	
		
			
				|  |  |             return post(url, params, header, getDefaultSSL(),httpsUser,httpsUserPassword);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         else{
 | 
	
		
			
				|  |  |             //默认http不走ssl和用户密码
 | 
	
		
			
				|  |  |             return post(url, params, header, null, null, null);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     public HttpResponse post(String url,Map<String,Object> params,Map<String,Object> header,SSLConnectionSocketFactory ssl,String user,String password)
 | 
	
		
			
				|  |  |     {
 | 
	
		
			
				|  |  |         return HttpClientUtil.request("POST",url,params,header,ssl,user,password);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /************************** Put方法 ******************************************/
 | 
	
		
			
				|  |  |     public HttpResponse put(String url)
 | 
	
		
			
				|  |  |     {
 | 
	
		
			
				|  |  |         return put(url, null, null);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     public HttpResponse put(String url,Map<String,Object> params)
 | 
	
		
			
				|  |  |     {
 | 
	
		
			
				|  |  |         return put(url, params, null);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     public HttpResponse put(String url,Map<String,Object> params,Map<String,Object> header)
 | 
	
		
			
				|  |  |     {
 | 
	
		
			
				|  |  |         if(url.startsWith("https"))
 | 
	
		
			
				|  |  |         {
 | 
	
		
			
				|  |  |             return put(url, params, header, getDefaultSSL(),httpsUser,httpsUserPassword);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         else{
 | 
	
		
			
				|  |  |             //默认http不走ssl和用户密码
 | 
	
		
			
				|  |  |             return put(url, params, header, null, null, null);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public HttpResponse put(String url,Map<String,Object> params,Map<String,Object> header,SSLConnectionSocketFactory ssl,String user,String password)
 | 
	
		
			
				|  |  |     {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return HttpClientUtil.request("PUT",url,params,header,ssl,user,password);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /************************** Delete方法 **************************************/
 | 
	
		
			
				|  |  |     public HttpResponse delete(String url)
 | 
	
		
			
				|  |  |     {
 | 
	
		
			
				|  |  |         return delete(url, null, null);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     public HttpResponse delete(String url,Map<String,Object> params)
 | 
	
		
			
				|  |  |     {
 | 
	
		
			
				|  |  |         return delete(url, params, null);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     public HttpResponse delete(String url,Map<String,Object> params,Map<String,Object> header)
 | 
	
		
			
				|  |  |     {
 | 
	
		
			
				|  |  |         if(url.startsWith("https"))
 | 
	
		
			
				|  |  |         {
 | 
	
		
			
				|  |  |             return delete(url, params, header, getDefaultSSL(),httpsUser,httpsUserPassword);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         else{
 | 
	
		
			
				|  |  |             //默认http不走ssl和用户密码
 | 
	
		
			
				|  |  |             return delete(url, params, header, null, null, null);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public static HttpResponse delete(String url,Map<String,Object> params,Map<String,Object> header,SSLConnectionSocketFactory ssl,String user,String password)
 | 
	
		
			
				|  |  |     {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return HttpClientUtil.request("DELETE",url,params,header,ssl,user,password);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | }
 |