HttpClient的HttpGet、HttpPost工具類

在大大小小的項目中,不可避免兩個系統之間的通訊交互,這裏一般就能用到我們的HttpClient;

HttpClient

HttpClient是用來提供高效、最新、功能最豐富的HTTP協議的客戶端編程工具包;

使用步驟

我們一般可以使用HttpClient發送請求、接收響應;
HttpGet請求響應的一般步驟:
1). 創建HttpClient對象,可以使用HttpClients.createDefault();
2). 如果是無參數的GET請求,則直接使用構造方法HttpGet(String url)創建HttpGet對象即可;
如果是帶參數GET請求,則可以先使用URIBuilder(String url)創建對象,再調用addParameter(String param, String value),或setParameter(String param, String value)來設置請求參數,並調用build()方法構建一個URI對象。只有構造方法HttpGet(URI uri)來創建HttpGet對象。
3). 創建HttpResponse,調用HttpClient對象的execute(HttpUriRequest request)發送請求,該方法返回一個HttpResponse。調用HttpResponse的getAllHeaders()、getHeaders(String name)等方法可獲取服務器的響應頭;調用HttpResponse的getEntity()方法可獲取HttpEntity對象,該對象包裝了服務器的響應內容。程序可通過該對象獲取服務器的響應內容。通過調用getStatusLine().getStatusCode()可以獲取響應狀態碼。
4). 釋放連接。

HttpPost請求響應的一般步驟:
1). 創建HttpClient對象,可以使用HttpClients.createDefault();
2). 如果是無參數的Post請求,則直接使用構造方法HttpPost(String url)創建HttpPost對象即可;
如果是帶參數POST請求,先構建HttpEntity對象並設置請求參數,然後調用setEntity(HttpEntity entity)創建HttpPost對象。
3). 創建HttpResponse,調用HttpClient對象的execute(HttpUriRequest request)發送請求,該方法返回一個HttpResponse。調用HttpResponse的getAllHeaders()、getHeaders(String name)等方法可獲取服務器的響應頭;調用HttpResponse的getEntity()方法可獲取HttpEntity對象,該對象包裝了服務器的響應內容。程序可通過該對象獲取服務器的響應內容。通過調用getStatusLine().getStatusCode()可以獲取響應狀態碼。
4). 釋放連接。

例如:
普通不帶參的Get請求

/1.獲得一個httpclient對象
 2 CloseableHttpClient httpclient = HttpClients.createDefault();
 3 //2.生成一個get請求
 4 HttpGet httpget = new HttpGet("http://localhost/");
 5 //3.執行get請求並返回結果
 6 CloseableHttpResponse response = httpclient.execute(httpget);
 7 try {
 8     //4.處理結果
 9 } finally {
10     response.close();
11 }

原文鏈接:HttpClient使用詳解與實戰一:普通的GET和POST請求

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章