使用Java編寫一個http請求,要求使用HttpClient
阿新 • • 發佈:2019-02-06
HttpClient介紹:
HttpClient是Apache提供的一個用於在Java中處理HTTP請求、響應操作的工具,它比JDK中自帶的URLConnection更加靈活好用,因此越來越多的人開始使用它來實行對HTTP的請求操作。HttpClient的初級使用我是在IDEA的編譯工具上來實現基於HttpClient的HTTP請求實現。首先需要先建立一個Maven專案,並且新增相關的HttpClient依賴,在百度上使用HttpClient pom 查詢官網上的HttpClient依賴,如圖1.1,然後選擇自己需要的版本,點選獲取該依賴,如圖1.2。將該語句新增至專案的pom.xml檔案中。至此,HttpClient的jar包新增完成,可以開始專案的編寫。
圖1.1 依賴版本選擇圖1.2 相關依賴語句
圖1.2 相關依賴語句
HttpClient的使用方法:
- 使用CloseableHttpClient來建立一個httpClient物件
- 宣告請求型別,並傳入相應的URL
- 使用httpClient的excute()方法來傳遞請求物件,並獲取響應物件
- 獲取伺服器的狀態碼,並判斷該狀態碼是否正常
- 正常的話則將伺服器傳送的資料封裝成HttpEntity物件
- 將所得物件轉化成字串
- 關閉連線
get請求:
public class HttpClient { public static void main(String[] args) { //建立一個httpClient例項 CloseableHttpClient httpClient = HttpClients.createDefault(); //建立一個get方法,並指定url HttpGet get = new HttpGet("http://www.baidu.com"); { try { //呼叫httpClient的excute方法,傳遞請求物件並且獲取到響應物件 HttpResponse response = httpClient.execute(get); //得到伺服器的狀態碼 ; int httpCode = response.getStatusLine().getStatusCode(); System.out.println("httpCode:"+ httpCode); //判斷該狀態碼是否正常 if(httpCode >= 200 && httpCode < 400){ //得到伺服器端傳送過來的資料並封裝成HttpEntity HttpEntity httpEntity = response.getEntity(); //將得到的物件轉化成字串 System.out.println("httpEntity:"+ httpEntity); String result = EntityUtils.toString(httpEntity); System.out.println("*********************"); System.out.println("result:"+ result); } } catch (IOException e) { e.printStackTrace(); } }response.close(); httpClient.close();}}
輸出結果