import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONObject;
import org.apache.commons.io.IOUtils;
import org.apache.http.HttpEntity;
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.entity.ContentType;
import org.apache.http.entity.InputStreamEntity;
import org.apache.http.entity.StringEntity;
import org.apache.http.entity.mime.HttpMultipartMode;
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.impl.conn.PoolingHttpClientConnectionManager;
import org.apache.http.message.BasicHeader;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;
/**
* http client 单例封装
*/
public class SingletonHttpClient {
private CloseableHttpClient httpclient;
private RequestConfig requestConfig;
private static SingletonHttpClient singleton;
/**
* 获取实例,并初始化
*/
public static SingletonHttpClient getInstance() {
if (null == singleton) {
synchronized (SingletonHttpClient.class) {
if (null == singleton) {
singleton = new SingletonHttpClient();
PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager();
cm.setMaxTotal(1000);
singleton.httpclient = HttpClients.custom().setConnectionManager(cm)
.disableAutomaticRetries().build();
singleton.requestConfig = RequestConfig.custom()
.setConnectionRequestTimeout(10000).setSocketTimeout(10000)
.setConnectTimeout(10000).build()