介紹
HttpClient 是Apache Jakarta Common 下的子項目,可以用來提供高效的、最新的、功能豐富的支持 HTTP 協議的客戶端編程工具包,并且它支持 HTTP 協議最新的版本和建議
就是我們可以在java程序中使用HttpClient構造http請求,還可以發送http請求。
導入maven坐標
<dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.6</version>
</dependency>
核心api
HttpClient:用來發送http請求
HttpClients:構建器,用來構建httpclient對象
CloseableHttpClient:具體的實現類,實現HttpClient接口
HttpGet:http的get請求
HttpPost:http的post請求
HttpClient發送請求的步驟
- 創建HttpClient對象
- 創建Http請求對象,HttpGet,HttpPost
- 調用HttpClient的execute方法發送請求
通過HttpClient發送get請求
@Testpublic void testGet() throws IOException {//創建httpClient對象CloseableHttpClient httpClient = HttpClients.createDefault();//創建Http請求對象,HttpGet,HttpPostHttpGet httpGet = new HttpGet("http://localhost:8080");//調用HttpClient的execute方法發送請求,并且接收返回數據CloseableHttpResponse response = httpClient.execute(httpGet);//獲取放回的狀態碼int statusCode = response.getStatusLine().getStatusCode();System.out.println("服務端返回的狀態碼:" + statusCode);HttpEntity entity = response.getEntity();//解析返回數據String result = EntityUtils.toString(entity,"UTF-8");System.out.println("返回數據:"+result);//關閉資源response.close();httpClient.close();}