Java tutorial
//package com.java2s; //License from project: Open Source License import org.apache.http.client.HttpClient; import org.apache.http.conn.ClientConnectionManager; import org.apache.http.conn.params.ConnManagerPNames; import org.apache.http.conn.scheme.PlainSocketFactory; 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.impl.client.DefaultHttpClient; import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager; import org.apache.http.params.BasicHttpParams; import org.apache.http.params.CoreConnectionPNames; import org.apache.http.params.HttpParams; public class Main { private static DefaultHttpClient httpClient; private static final String HTTP_CLIENT = "HTTP_CLIENT"; public static HttpClient getHttpClient() { if (httpClient != null) { return httpClient; } synchronized (HTTP_CLIENT) { HttpParams defaultParams = new BasicHttpParams(); defaultParams.setIntParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 6000); defaultParams.setIntParameter(CoreConnectionPNames.SO_TIMEOUT, 6000); defaultParams.setLongParameter(ConnManagerPNames.TIMEOUT, 6000); SchemeRegistry scheme = new SchemeRegistry(); scheme.register(new Scheme("http", new PlainSocketFactory(), 80)); scheme.register(new Scheme("https", SSLSocketFactory.getSocketFactory(), 443)); ClientConnectionManager connMgr = new ThreadSafeClientConnManager(defaultParams, scheme); httpClient = new DefaultHttpClient(connMgr, defaultParams); } return httpClient; } }