public static void main(String[] args) throws Exception{ //httpclient連接池 //創建連接池 PoolingHttpClientConnectionManager cManager = new PoolingHttpClientConnectionManager(); //設置最大連接數 cManager.setMaxTotal(50); //設置每個主機地址的並發數 cManager.setDefaultMaxPerRoute(20); //執行i請求 doGet(cManager); } private static void doGet(PoolingHttpClientConnectionManager cm) throws Exception{ //從連接池獲取連接,每次不一樣 CloseableHttpClient httpClient = HttpClients.custom().setConnectionManager(cm).build(); //設置http get HttpGet httpGet = new HttpGet("https://www.baidu.com"); //設置請求參數 RequestConfig config = RequestConfig.custom().setConnectTimeout(5000) //連接超時時間 .setConnectionRequestTimeout(500) //從線程池中獲取線程超時時間 .setSocketTimeout(8000) //設置數據超時時間 .setStaleConnectionCheckEnabled(true) //提交請求前檢查連接是否可用 .build(); httpGet.setConfig(config); //返回數據 CloseableHttpResponse response = null; try { response = httpClient.execute(httpGet); String con = EntityUtils.toString(response.getEntity(), "utf-8"); System.out.println(con); }finally{ if(response!=null){ response.close(); } httpClient.close(); } }