|  | @@ -0,0 +1,436 @@
 | 
	
		
			
				|  |  | +package com.ym.mec.util.http;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +import java.io.File;
 | 
	
		
			
				|  |  | +import java.io.FileOutputStream;
 | 
	
		
			
				|  |  | +import java.io.IOException;
 | 
	
		
			
				|  |  | +import java.io.InputStream;
 | 
	
		
			
				|  |  | +import java.nio.charset.Charset;
 | 
	
		
			
				|  |  | +import java.security.KeyManagementException;
 | 
	
		
			
				|  |  | +import java.security.KeyStoreException;
 | 
	
		
			
				|  |  | +import java.security.NoSuchAlgorithmException;
 | 
	
		
			
				|  |  | +import java.util.ArrayList;
 | 
	
		
			
				|  |  | +import java.util.List;
 | 
	
		
			
				|  |  | +import java.util.Map;
 | 
	
		
			
				|  |  | +import java.util.Map.Entry;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +import org.apache.commons.beanutils.ConvertUtils;
 | 
	
		
			
				|  |  | +import org.apache.commons.io.FileUtils;
 | 
	
		
			
				|  |  | +import org.apache.commons.io.IOUtils;
 | 
	
		
			
				|  |  | +import org.apache.commons.lang.StringUtils;
 | 
	
		
			
				|  |  | +import org.apache.http.HttpEntity;
 | 
	
		
			
				|  |  | +import org.apache.http.HttpResponse;
 | 
	
		
			
				|  |  | +import org.apache.http.NameValuePair;
 | 
	
		
			
				|  |  | +import org.apache.http.client.entity.UrlEncodedFormEntity;
 | 
	
		
			
				|  |  | +import org.apache.http.client.methods.HttpGet;
 | 
	
		
			
				|  |  | +import org.apache.http.client.methods.HttpPost;
 | 
	
		
			
				|  |  | +import org.apache.http.entity.ContentType;
 | 
	
		
			
				|  |  | +import org.apache.http.entity.StringEntity;
 | 
	
		
			
				|  |  | +import org.apache.http.entity.mime.MultipartEntityBuilder;
 | 
	
		
			
				|  |  | +import org.apache.http.impl.client.CloseableHttpClient;
 | 
	
		
			
				|  |  | +import org.apache.http.impl.client.HttpClients;
 | 
	
		
			
				|  |  | +import org.apache.http.message.BasicNameValuePair;
 | 
	
		
			
				|  |  | +import org.apache.http.util.EntityUtils;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +import com.ym.mec.util.compress.ZipUtil;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +public class HttpUtil {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	/**
 | 
	
		
			
				|  |  | +	 * POST请求http url
 | 
	
		
			
				|  |  | +	 * 
 | 
	
		
			
				|  |  | +	 * @param url
 | 
	
		
			
				|  |  | +	 *            URL
 | 
	
		
			
				|  |  | +	 * @param parameterMap
 | 
	
		
			
				|  |  | +	 *            请求参数
 | 
	
		
			
				|  |  | +	 * @return 返回结果
 | 
	
		
			
				|  |  | +	 * @throws IOException 
 | 
	
		
			
				|  |  | +	 */
 | 
	
		
			
				|  |  | +	public static String postForHttp(String url, Map<String, Object> parameterMap) throws IOException {
 | 
	
		
			
				|  |  | +		String result = null;
 | 
	
		
			
				|  |  | +		CloseableHttpClient httpClient = HttpClients.createDefault();
 | 
	
		
			
				|  |  | +		HttpPost httpPost = new HttpPost(url);
 | 
	
		
			
				|  |  | +		try {
 | 
	
		
			
				|  |  | +			List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
 | 
	
		
			
				|  |  | +			if (parameterMap != null) {
 | 
	
		
			
				|  |  | +				for (Entry<String, Object> entry : parameterMap.entrySet()) {
 | 
	
		
			
				|  |  | +					String name = entry.getKey();
 | 
	
		
			
				|  |  | +					String value = ConvertUtils.convert(entry.getValue());
 | 
	
		
			
				|  |  | +					if (StringUtils.isNotEmpty(name)) {
 | 
	
		
			
				|  |  | +						nameValuePairs.add(new BasicNameValuePair(name, value));
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs, "UTF-8"));
 | 
	
		
			
				|  |  | +			HttpResponse httpResponse = httpClient.execute(httpPost);
 | 
	
		
			
				|  |  | +			HttpEntity httpEntity = httpResponse.getEntity();
 | 
	
		
			
				|  |  | +			result = EntityUtils.toString(httpEntity, "UTF-8");
 | 
	
		
			
				|  |  | +			EntityUtils.consume(httpEntity);
 | 
	
		
			
				|  |  | +		} finally {
 | 
	
		
			
				|  |  | +			httpPost.releaseConnection();
 | 
	
		
			
				|  |  | +			httpClient.close();
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		return result;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	/**
 | 
	
		
			
				|  |  | +	 * POST请求https url
 | 
	
		
			
				|  |  | +	 * 
 | 
	
		
			
				|  |  | +	 * @param url
 | 
	
		
			
				|  |  | +	 *            URL
 | 
	
		
			
				|  |  | +	 * @param parameterMap
 | 
	
		
			
				|  |  | +	 *            请求参数
 | 
	
		
			
				|  |  | +	 * @return 返回结果
 | 
	
		
			
				|  |  | +	 * @throws IOException 
 | 
	
		
			
				|  |  | +	 * @throws NoSuchAlgorithmException 
 | 
	
		
			
				|  |  | +	 * @throws KeyManagementException 
 | 
	
		
			
				|  |  | +	 * @throws KeyStoreException 
 | 
	
		
			
				|  |  | +	 */
 | 
	
		
			
				|  |  | +	public static String postForHttps(String url, Map<String, Object> parameterMap) throws IOException, NoSuchAlgorithmException, KeyManagementException,
 | 
	
		
			
				|  |  | +			KeyStoreException {
 | 
	
		
			
				|  |  | +		String result = null;
 | 
	
		
			
				|  |  | +		CloseableHttpClient httpClient = SimpleHttpsClient.getInstance();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		HttpPost httpPost = new HttpPost(url);
 | 
	
		
			
				|  |  | +		try {
 | 
	
		
			
				|  |  | +			List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
 | 
	
		
			
				|  |  | +			if (parameterMap != null) {
 | 
	
		
			
				|  |  | +				for (Entry<String, Object> entry : parameterMap.entrySet()) {
 | 
	
		
			
				|  |  | +					String name = entry.getKey();
 | 
	
		
			
				|  |  | +					String value = ConvertUtils.convert(entry.getValue());
 | 
	
		
			
				|  |  | +					if (StringUtils.isNotEmpty(name)) {
 | 
	
		
			
				|  |  | +						nameValuePairs.add(new BasicNameValuePair(name, value));
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs, "UTF-8"));
 | 
	
		
			
				|  |  | +			HttpResponse httpResponse = httpClient.execute(httpPost);
 | 
	
		
			
				|  |  | +			HttpEntity httpEntity = httpResponse.getEntity();
 | 
	
		
			
				|  |  | +			result = EntityUtils.toString(httpEntity, "UTF-8");
 | 
	
		
			
				|  |  | +			EntityUtils.consume(httpEntity);
 | 
	
		
			
				|  |  | +		} finally {
 | 
	
		
			
				|  |  | +			httpPost.releaseConnection();
 | 
	
		
			
				|  |  | +			httpClient.close();
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		return result;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	/**
 | 
	
		
			
				|  |  | +	 * POST请求https url
 | 
	
		
			
				|  |  | +	 * 
 | 
	
		
			
				|  |  | +	 * @param url
 | 
	
		
			
				|  |  | +	 *            URL
 | 
	
		
			
				|  |  | +	 * @param json
 | 
	
		
			
				|  |  | +	 *            请求参数
 | 
	
		
			
				|  |  | +	 * @param headers
 | 
	
		
			
				|  |  | +	 *            请求头参数
 | 
	
		
			
				|  |  | +	 * @return 返回结果
 | 
	
		
			
				|  |  | +	 * @throws IOException 
 | 
	
		
			
				|  |  | +	 * @throws NoSuchAlgorithmException 
 | 
	
		
			
				|  |  | +	 * @throws KeyManagementException 
 | 
	
		
			
				|  |  | +	 * @throws KeyStoreException 
 | 
	
		
			
				|  |  | +	 */
 | 
	
		
			
				|  |  | +	public static String postForHttps(String url, String json, Map<String, String> headers) throws IOException, NoSuchAlgorithmException,
 | 
	
		
			
				|  |  | +			KeyManagementException, KeyStoreException {
 | 
	
		
			
				|  |  | +		String result = null;
 | 
	
		
			
				|  |  | +		CloseableHttpClient httpClient = SimpleHttpsClient.getInstance();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		HttpPost httpPost = new HttpPost(url);
 | 
	
		
			
				|  |  | +		if (headers != null && headers.size() > 0) {
 | 
	
		
			
				|  |  | +			for (Entry<String, String> entry : headers.entrySet()) {
 | 
	
		
			
				|  |  | +				httpPost.setHeader(entry.getKey(), entry.getValue());
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		try {
 | 
	
		
			
				|  |  | +			httpPost.setEntity(new StringEntity(json, "UTF-8"));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			HttpResponse httpResponse = httpClient.execute(httpPost);
 | 
	
		
			
				|  |  | +			HttpEntity httpEntity = httpResponse.getEntity();
 | 
	
		
			
				|  |  | +			result = EntityUtils.toString(httpEntity, "UTF-8");
 | 
	
		
			
				|  |  | +			EntityUtils.consume(httpEntity);
 | 
	
		
			
				|  |  | +		} finally {
 | 
	
		
			
				|  |  | +			httpPost.releaseConnection();
 | 
	
		
			
				|  |  | +			httpClient.close();
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		return result;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	/**
 | 
	
		
			
				|  |  | +	 * 带附件的方法
 | 
	
		
			
				|  |  | +	 * @param url
 | 
	
		
			
				|  |  | +	 * @param parameterMap
 | 
	
		
			
				|  |  | +	 * @param filePath
 | 
	
		
			
				|  |  | +	 * @return
 | 
	
		
			
				|  |  | +	 * @throws IOException
 | 
	
		
			
				|  |  | +	 * @throws NoSuchAlgorithmException
 | 
	
		
			
				|  |  | +	 * @throws KeyManagementException
 | 
	
		
			
				|  |  | +	 * @throws KeyStoreException
 | 
	
		
			
				|  |  | +	 */
 | 
	
		
			
				|  |  | +	public static String postForHttps(String url, Map<String, Object> parameterMap, String filePath) throws IOException, NoSuchAlgorithmException,
 | 
	
		
			
				|  |  | +			KeyManagementException, KeyStoreException {
 | 
	
		
			
				|  |  | +		File file = new File(filePath);
 | 
	
		
			
				|  |  | +		String result = null;
 | 
	
		
			
				|  |  | +		CloseableHttpClient httpClient = HttpClients.createDefault();
 | 
	
		
			
				|  |  | +		HttpPost httpPost = new HttpPost(url);
 | 
	
		
			
				|  |  | +		MultipartEntityBuilder builder = MultipartEntityBuilder.create();
 | 
	
		
			
				|  |  | +		try {
 | 
	
		
			
				|  |  | +			if (parameterMap != null) {
 | 
	
		
			
				|  |  | +				for (Entry<String, Object> entry : parameterMap.entrySet()) {
 | 
	
		
			
				|  |  | +					String name = entry.getKey();
 | 
	
		
			
				|  |  | +					String value = ConvertUtils.convert(entry.getValue());
 | 
	
		
			
				|  |  | +					if (StringUtils.isNotEmpty(name)) {
 | 
	
		
			
				|  |  | +						builder.addTextBody(name, value);
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			builder.addBinaryBody(file.getName(), file, ContentType.create("application/zip"), file.getName() + ".zip");
 | 
	
		
			
				|  |  | +			httpPost.setEntity(builder.build());
 | 
	
		
			
				|  |  | +			HttpResponse httpResponse = httpClient.execute(httpPost);
 | 
	
		
			
				|  |  | +			HttpEntity httpEntity = httpResponse.getEntity();
 | 
	
		
			
				|  |  | +			result = EntityUtils.toString(httpEntity, "UTF-8");
 | 
	
		
			
				|  |  | +			EntityUtils.consume(httpEntity);
 | 
	
		
			
				|  |  | +		} finally {
 | 
	
		
			
				|  |  | +			httpPost.releaseConnection();
 | 
	
		
			
				|  |  | +			httpClient.close();
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		return result;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	/**
 | 
	
		
			
				|  |  | +	 * post请求
 | 
	
		
			
				|  |  | +	 * @param url 请求地址
 | 
	
		
			
				|  |  | +	 * @param parameter 参数
 | 
	
		
			
				|  |  | +	 * @param headers 头信息
 | 
	
		
			
				|  |  | +	 * @param fileMap 附件
 | 
	
		
			
				|  |  | +	 * @param contentType 附件的类型
 | 
	
		
			
				|  |  | +	 * @return
 | 
	
		
			
				|  |  | +	 * @throws IOException
 | 
	
		
			
				|  |  | +	 * @throws NoSuchAlgorithmException
 | 
	
		
			
				|  |  | +	 * @throws KeyManagementException
 | 
	
		
			
				|  |  | +	 * @throws KeyStoreException
 | 
	
		
			
				|  |  | +	 */
 | 
	
		
			
				|  |  | +	public static String postForHttps(String url, Map<String, Object> parameterMap, Map<String, String> headers, Map<String, File> fileMap,
 | 
	
		
			
				|  |  | +			ContentType contentType) throws IOException, NoSuchAlgorithmException, KeyManagementException, KeyStoreException {
 | 
	
		
			
				|  |  | +		String result = null;
 | 
	
		
			
				|  |  | +		CloseableHttpClient httpClient = HttpClients.createDefault();
 | 
	
		
			
				|  |  | +		HttpPost httpPost = new HttpPost(url);
 | 
	
		
			
				|  |  | +		if (headers != null && headers.size() > 0) {
 | 
	
		
			
				|  |  | +			for (Entry<String, String> entry : headers.entrySet()) {
 | 
	
		
			
				|  |  | +				httpPost.setHeader(entry.getKey(), entry.getValue());
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		MultipartEntityBuilder builder = MultipartEntityBuilder.create();
 | 
	
		
			
				|  |  | +		try {
 | 
	
		
			
				|  |  | +			if (parameterMap != null) {
 | 
	
		
			
				|  |  | +				for (Entry<String, Object> entry : parameterMap.entrySet()) {
 | 
	
		
			
				|  |  | +					String name = entry.getKey();
 | 
	
		
			
				|  |  | +					String value = ConvertUtils.convert(entry.getValue());
 | 
	
		
			
				|  |  | +					if (StringUtils.isNotBlank(name) && StringUtils.isNotBlank(value)) {
 | 
	
		
			
				|  |  | +						builder.addTextBody(name, value, ContentType.create("text/plain", Charset.forName("UTF-8")));
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			File file = null;
 | 
	
		
			
				|  |  | +			if (fileMap != null && fileMap.size() > 0) {
 | 
	
		
			
				|  |  | +				for (Entry<String, File> entry : fileMap.entrySet()) {
 | 
	
		
			
				|  |  | +					file = entry.getValue();
 | 
	
		
			
				|  |  | +					if (file != null) {
 | 
	
		
			
				|  |  | +						builder.addBinaryBody(entry.getKey(), file, contentType, file.getName());
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			httpPost.setEntity(builder.build());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			HttpResponse httpResponse = httpClient.execute(httpPost);
 | 
	
		
			
				|  |  | +			HttpEntity httpEntity = httpResponse.getEntity();
 | 
	
		
			
				|  |  | +			result = EntityUtils.toString(httpEntity, "UTF-8");
 | 
	
		
			
				|  |  | +			EntityUtils.consume(httpEntity);
 | 
	
		
			
				|  |  | +		} finally {
 | 
	
		
			
				|  |  | +			httpPost.releaseConnection();
 | 
	
		
			
				|  |  | +			httpClient.close();
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		return result;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	/**
 | 
	
		
			
				|  |  | +	 * GET请求
 | 
	
		
			
				|  |  | +	 * 
 | 
	
		
			
				|  |  | +	 * @param url
 | 
	
		
			
				|  |  | +	 *            URL
 | 
	
		
			
				|  |  | +	 * @param parameterMap
 | 
	
		
			
				|  |  | +	 *            请求参数
 | 
	
		
			
				|  |  | +	 * @return 返回结果
 | 
	
		
			
				|  |  | +	 * @throws IOException 
 | 
	
		
			
				|  |  | +	 */
 | 
	
		
			
				|  |  | +	public static String get(String url, Map<String, Object> parameterMap) throws IOException {
 | 
	
		
			
				|  |  | +		return get(url, parameterMap, null);
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	/**
 | 
	
		
			
				|  |  | +	 * GET请求
 | 
	
		
			
				|  |  | +	 * 
 | 
	
		
			
				|  |  | +	 * @param url
 | 
	
		
			
				|  |  | +	 *            URL
 | 
	
		
			
				|  |  | +	 * @param parameterMap
 | 
	
		
			
				|  |  | +	 *            请求参数
 | 
	
		
			
				|  |  | +	 * @param headers
 | 
	
		
			
				|  |  | +	 *            请求头
 | 
	
		
			
				|  |  | +	 * @return 返回结果
 | 
	
		
			
				|  |  | +	 * @throws IOException 
 | 
	
		
			
				|  |  | +	 */
 | 
	
		
			
				|  |  | +	public static String get(String url, Map<String, Object> parameterMap, Map<String, String> headers) throws IOException {
 | 
	
		
			
				|  |  | +		String result = null;
 | 
	
		
			
				|  |  | +		CloseableHttpClient httpClient = HttpClients.createDefault();
 | 
	
		
			
				|  |  | +		HttpGet httpGet = null;
 | 
	
		
			
				|  |  | +		try {
 | 
	
		
			
				|  |  | +			List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
 | 
	
		
			
				|  |  | +			if (parameterMap != null) {
 | 
	
		
			
				|  |  | +				for (Entry<String, Object> entry : parameterMap.entrySet()) {
 | 
	
		
			
				|  |  | +					String name = entry.getKey();
 | 
	
		
			
				|  |  | +					String value = ConvertUtils.convert(entry.getValue());
 | 
	
		
			
				|  |  | +					if (StringUtils.isNotEmpty(name)) {
 | 
	
		
			
				|  |  | +						nameValuePairs.add(new BasicNameValuePair(name, value));
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			httpGet = new HttpGet(url + (StringUtils.contains(url, "?") ? "&" : "?") + EntityUtils.toString(new UrlEncodedFormEntity(nameValuePairs, "UTF-8")));
 | 
	
		
			
				|  |  | +			if (headers != null && headers.size() > 0) {
 | 
	
		
			
				|  |  | +				for (Entry<String, String> entry : headers.entrySet()) {
 | 
	
		
			
				|  |  | +					httpGet.setHeader(entry.getKey(), entry.getValue());
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			HttpResponse httpResponse = httpClient.execute(httpGet);
 | 
	
		
			
				|  |  | +			HttpEntity httpEntity = httpResponse.getEntity();
 | 
	
		
			
				|  |  | +			result = EntityUtils.toString(httpEntity, "UTF-8");
 | 
	
		
			
				|  |  | +			EntityUtils.consume(httpEntity);
 | 
	
		
			
				|  |  | +		} finally {
 | 
	
		
			
				|  |  | +			if (httpGet != null) {
 | 
	
		
			
				|  |  | +				httpGet.releaseConnection();
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			httpClient.close();
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		return result;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	/**
 | 
	
		
			
				|  |  | +	 * POST请求https url
 | 
	
		
			
				|  |  | +	 * 
 | 
	
		
			
				|  |  | +	 * @param url
 | 
	
		
			
				|  |  | +	 *            URL
 | 
	
		
			
				|  |  | +	 * @param parameterMap
 | 
	
		
			
				|  |  | +	 *            请求参数
 | 
	
		
			
				|  |  | +	 * @return 返回结果
 | 
	
		
			
				|  |  | +	 * @throws IOException 
 | 
	
		
			
				|  |  | +	 * @throws NoSuchAlgorithmException 
 | 
	
		
			
				|  |  | +	 * @throws KeyManagementException 
 | 
	
		
			
				|  |  | +	 * @throws KeyStoreException 
 | 
	
		
			
				|  |  | +	 */
 | 
	
		
			
				|  |  | +	public static boolean downLoadPostForHttps(String url, Map<String, String> headerMap, Map<String, Object> parameterMap, String filePath)
 | 
	
		
			
				|  |  | +			throws IOException, NoSuchAlgorithmException, KeyManagementException, KeyStoreException {
 | 
	
		
			
				|  |  | +		CloseableHttpClient httpClient = HttpClients.createDefault();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		HttpPost httpPost = new HttpPost(url);
 | 
	
		
			
				|  |  | +		if (headerMap != null) {
 | 
	
		
			
				|  |  | +			for (Entry<String, String> entry : headerMap.entrySet()) {
 | 
	
		
			
				|  |  | +				httpPost.addHeader(entry.getKey(), entry.getValue());
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		try {
 | 
	
		
			
				|  |  | +			List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
 | 
	
		
			
				|  |  | +			if (parameterMap != null) {
 | 
	
		
			
				|  |  | +				for (Entry<String, Object> entry : parameterMap.entrySet()) {
 | 
	
		
			
				|  |  | +					String name = entry.getKey();
 | 
	
		
			
				|  |  | +					String value = ConvertUtils.convert(entry.getValue());
 | 
	
		
			
				|  |  | +					if (StringUtils.isNotEmpty(name)) {
 | 
	
		
			
				|  |  | +						nameValuePairs.add(new BasicNameValuePair(name, value));
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs, "UTF-8"));
 | 
	
		
			
				|  |  | +			HttpResponse httpResponse = httpClient.execute(httpPost);
 | 
	
		
			
				|  |  | +			HttpEntity httpEntity = httpResponse.getEntity();
 | 
	
		
			
				|  |  | +			InputStream is = httpEntity.getContent();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			File file = new File(filePath);
 | 
	
		
			
				|  |  | +			file.getParentFile().mkdirs();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			FileOutputStream fileout = new FileOutputStream(file);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			IOUtils.copy(is, fileout);
 | 
	
		
			
				|  |  | +			is.close();
 | 
	
		
			
				|  |  | +			fileout.flush();
 | 
	
		
			
				|  |  | +			fileout.close();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			EntityUtils.consume(httpEntity);
 | 
	
		
			
				|  |  | +		} finally {
 | 
	
		
			
				|  |  | +			httpPost.releaseConnection();
 | 
	
		
			
				|  |  | +			httpClient.close();
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		return true;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	/**
 | 
	
		
			
				|  |  | +	 * POST请求https url
 | 
	
		
			
				|  |  | +	 * 
 | 
	
		
			
				|  |  | +	 * @param url
 | 
	
		
			
				|  |  | +	 *            URL
 | 
	
		
			
				|  |  | +	 * @param parameterMap
 | 
	
		
			
				|  |  | +	 *            请求参数
 | 
	
		
			
				|  |  | +	 * @return 返回结果
 | 
	
		
			
				|  |  | +	 * @throws IOException 
 | 
	
		
			
				|  |  | +	 * @throws NoSuchAlgorithmException 
 | 
	
		
			
				|  |  | +	 * @throws KeyManagementException 
 | 
	
		
			
				|  |  | +	 * @throws KeyStoreException 
 | 
	
		
			
				|  |  | +	 */
 | 
	
		
			
				|  |  | +	public static boolean downLoadZipGetForHttps(String url, Map<String, String> headerMap, Map<String, Object> parameterMap, String filePath)
 | 
	
		
			
				|  |  | +			throws IOException, NoSuchAlgorithmException, KeyManagementException, KeyStoreException {
 | 
	
		
			
				|  |  | +		CloseableHttpClient httpClient = HttpClients.createDefault();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		HttpGet httpGet = null;
 | 
	
		
			
				|  |  | +		try {
 | 
	
		
			
				|  |  | +			List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
 | 
	
		
			
				|  |  | +			if (parameterMap != null) {
 | 
	
		
			
				|  |  | +				for (Entry<String, Object> entry : parameterMap.entrySet()) {
 | 
	
		
			
				|  |  | +					String name = entry.getKey();
 | 
	
		
			
				|  |  | +					String value = ConvertUtils.convert(entry.getValue());
 | 
	
		
			
				|  |  | +					if (StringUtils.isNotEmpty(name)) {
 | 
	
		
			
				|  |  | +						nameValuePairs.add(new BasicNameValuePair(name, value));
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			httpGet = new HttpGet(url + (StringUtils.contains(url, "?") ? "&" : "?") + EntityUtils.toString(new UrlEncodedFormEntity(nameValuePairs, "UTF-8")));
 | 
	
		
			
				|  |  | +			if (headerMap != null) {
 | 
	
		
			
				|  |  | +				for (Entry<String, String> entry : headerMap.entrySet()) {
 | 
	
		
			
				|  |  | +					httpGet.addHeader(entry.getKey(), entry.getValue());
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			HttpResponse httpResponse = httpClient.execute(httpGet);
 | 
	
		
			
				|  |  | +			HttpEntity httpEntity = httpResponse.getEntity();
 | 
	
		
			
				|  |  | +			InputStream is = httpEntity.getContent();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			File file = new File(filePath);
 | 
	
		
			
				|  |  | +			file.getParentFile().mkdirs();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			List<File> files = ZipUtil.unCompressZipFile(is, file.getParent());
 | 
	
		
			
				|  |  | +			List<String> listFile = new ArrayList<String>();
 | 
	
		
			
				|  |  | +			for (File f : files) {
 | 
	
		
			
				|  |  | +				listFile.add(f.getPath());
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			ZipUtil zipUtil = ZipUtil.getInstance();
 | 
	
		
			
				|  |  | +			zipUtil.zipMultiFile(listFile.toArray(new String[listFile.size()]), filePath);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			EntityUtils.consume(httpEntity);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			for (File f : files) {
 | 
	
		
			
				|  |  | +				FileUtils.deleteQuietly(f);
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +		} finally {
 | 
	
		
			
				|  |  | +			if (httpGet != null) {
 | 
	
		
			
				|  |  | +				httpGet.releaseConnection();
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			httpClient.close();
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		return true;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +}
 |