Http Client 的使用

  1. 介紹

            HttpClient是Apache公司的產品,是Http Components下的一個子組件java

     2. 特色json

            1. 基於標準、純淨的java語言。實現了Http1.0、Http1.1。服務器

            2. 能夠擴展的面向對象的結構實現了http的所有方法(get,post,put,delete,head,options,andtrace)cookie

            3.支持Https協議。app

            4.經過http代理建議透明的鏈接。post

            5. 自動處理Set-cookie中的cookie。this

     3.使用 -- 建立httpClient客戶端.net

public class HttpTests{
    CloseableHttpClient httpClient;
    
    @Before
    public void init(){
         // 建立httpClient的客戶端
         httpClient = HttpClients.createDefault();
    }

}

         3.1 發起get請求代理

@Test
public void testGet() throws IOException{
    // 發起什麼請求就new什麼, 好比new HttpPost 等等....
    HttpGet request= new HttpGet('http://www.baidu.com');
    // 執行請求
    String response = this.httpClient.execute(request,new BasicResponseHandler());
    system.out.println(response);

}

        3.2 發起post請求code

@Test
public void testPost() throws IOException{
    // 發起什麼請求就new什麼, 好比new HttpPost 等等....
    HttpPost request= new HttpPost('https://my.oschina.net');
    // 設置請求頭,欺騙一下開源中國。由於開源中國限制爬蟲訪問
    request.setHeader("user-agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36");
    // 執行請求
    String response = this.httpClient.execute(request,new BasicResponseHandler());
    system.out.println(response);
}

        3.3 使用Get請求訪問本身的服務器,實現遠程調用

@Test
public void testGetPojo() throws IOException{
    // 發起請求  // http://localhost:8080/hello 服務器地址
    HttpGet request= new HttpGet('http://localhost:8080/hello');
    // 執行請求,得到json數據
    String response = this.httpClient.execute(request,new BasicResponseHandler());
    // json數據轉爲對象數據即可, 可以使用ObjectMapper
    system.out.println(response);

}
相關文章
相關標籤/搜索