httpClient帶一個或多個參數實現


 聽課視頻:https://www.bilibili.com/video/av68932809?p=5

思路分析:先創建httpClient對象,再通過URIBuilder對象根上網址,最后一步帶上一個多個參數。

如何寫一個HttpClient[1]——URI的處理


 

1核心代碼分:

//1:創建httpClient對象
CloseableHttpClient httpClient = HttpClients.createDefault();

//2:設置請求參數 http://yun.itheima.com/search?keys=Java
//創建URIBuilder
URIBuilder uriBuilder = new URIBuilder("http://yun.itheima.com/search");
//設置一個參數,若設置多個參數 uriBuilder.setParameter("keys", "Java").setParameter("login","userName");
uriBuilder.setParameter("keys", "Java").setParameter("login", "張三同學");

HttpGet httpGet = new HttpGet(uriBuilder.build());
System.out.println("http請求信息:"+httpGet); //返回值: http請求信息: GET http://www.itcast.cn HTTP/1.1

 

3:具體實現代碼

/**
 * @version 1.0.0
 * @program: recuit_gather
 * @description:
 * @author: zhangdaxu
 * @create: 2020-03-13 14:46
 */
public class httpClientStuParam06Test {

    @Test
    public void getParam() throws URISyntaxException {
        System.out.println("測試httpClient配置");
        //1:創建httpClient對象
        CloseableHttpClient httpClient = HttpClients.createDefault();

        //2:設置請求參數 http://yun.itheima.com/search?keys=Java
        //創建URIBuilder
        URIBuilder uriBuilder = new URIBuilder("http://yun.itheima.com/search");
        //設置一個參數,若設置多個參數 uriBuilder.setParameter("keys", "Java").setParameter("login","userName");
        uriBuilder.setParameter("keys", "Java").setParameter("login", "張三同學");

        HttpGet httpGet = new HttpGet(uriBuilder.build());
        System.out.println("http請求信息:"+httpGet);  //返回值: http請求信息: GET http://www.itcast.cn HTTP/1.1


        //3:設置請求響應的接收變量,如內容為主及必要信息(host,API,HTTP code,響應code,響應時間等等記錄)。
        CloseableHttpResponse response=null;
        try {
            response= httpClient.execute(httpGet);
            if(response.getStatusLine().getStatusCode()==200){
                //把得到響應的載體內容,傳遞給變量content
                String content = EntityUtils.toString(response.getEntity(), "utf8");
                //輸出響應內容的長度,暫不輸出
                System.out.println("響應得到內容長度為:"+content.length());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM