Mega Code Archive

 
Categories / Android / Network
 

Http connection with

package app.test; import org.apache.http.HttpVersion; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.conn.ClientConnectionManager; import org.apache.http.conn.params.ConnManagerParams; 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.BasicResponseHandler; 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.HttpConnectionParams; import org.apache.http.params.HttpParams; import org.apache.http.params.HttpProtocolParams; import org.apache.http.protocol.HTTP; import android.app.Activity; import android.os.Bundle; import android.util.Log; class CustomHttpClient {   private static HttpClient customHttpClient;   public static synchronized HttpClient getHttpClient() {     if (customHttpClient != null) {       return customHttpClient;     }         HttpParams params = new BasicHttpParams();         HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);         HttpProtocolParams.setContentCharset(params, HTTP.DEFAULT_CONTENT_CHARSET);         HttpProtocolParams.setUseExpectContinue(params, true);         HttpProtocolParams.setUserAgent(params,"Mozilla/5.0 (Linux; U; Android 2.2.1;");         ConnManagerParams.setTimeout(params, 1000);         HttpConnectionParams.setConnectionTimeout(params, 5000);         HttpConnectionParams.setSoTimeout(params, 10000);         SchemeRegistry schReg = new SchemeRegistry();         schReg.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));         schReg.register(new Scheme("https",SSLSocketFactory.getSocketFactory(), 443));         ClientConnectionManager conMgr = new ThreadSafeClientConnManager(params,schReg);         customHttpClient = new DefaultHttpClient(conMgr, params);     return customHttpClient;   }   public Object clone() throws CloneNotSupportedException {     throw new CloneNotSupportedException();   } } public class Test extends Activity{     private HttpClient httpClient;     @Override     public void onCreate(Bundle savedInstanceState){         super.onCreate(savedInstanceState);         setContentView(R.layout.main);         httpClient = CustomHttpClient.getHttpClient();         getHttpContent();     }     public void getHttpContent(){         try {             HttpGet request = new HttpGet("http://www.google.com/");             HttpParams params = request.getParams();             HttpConnectionParams.setSoTimeout(params, 60000);   // 1 minute             request.setParams(params);             Log.v("connection timeout", String.valueOf(HttpConnectionParams.getConnectionTimeout(params)));             Log.v("socket timeout", String.valueOf(HttpConnectionParams.getSoTimeout(params)));             String page = httpClient.execute(request, new BasicResponseHandler());             System.out.println(page);     } catch (Exception e) {       e.printStackTrace();     }     } }