创建多线程的HttpClient

    技术2022-05-19  20

    在实际的应用中,我们的联网应用程序里应该有一个HttpClient,并将其用于所有的HTTP通信。这就可能在同一个Http Client同时发出多个请求,也就产生了多线程的问题。幸运的是,在HttpClient里提供了一些工具来简化了这一个任务。下面我们看看使用ThreadSafeClientConnManager来创建DefaultHttpClient

        private HttpClient createHttpClient(){

            HttpParams params = new BasicHttpParams();

            HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);

            HttpProtocolParams.setContentCharset(params, HTTP.DEFAULT_CONTENT_CHARSET);

            HttpProtocolParams.setUseExpectContinue(params, true);

     

            SchemeRegistry schReg = new SchemeRegistry();

            schReg.register(new Scheme("http",PlainSocketFactory.getSocketFactory(),80));

            schReg.register(new Scheme("https",PlainSocketFactory.getSocketFactory(),433));

            ClientConnectionManager conMgr = new ThreadSafeClientConnManager(params,schReg);

     

            return new DefaultHttpClient(conMgr,params);

        };

    这样就完成了多线程的HttpClient的创建


    最新回复(0)