美文网首页网络爬虫之httpclinet5.0
3.2 httpclient的简单使用

3.2 httpclient的简单使用

作者: 飞行员舒克_ed03 | 来源:发表于2020-09-02 06:08 被阅读0次

废话不多说直接上代码

简单的使用

public static void simpleUse() throws IOException, ParseException {
    //生成客户端
    CloseableHttpClient httpClient = HttpClients.createDefault();
    //get 请求
    HttpGet httpGet = new HttpGet("http://httpbin.org/get");
    //执行GET请求
    CloseableHttpResponse getResponse = httpClient.execute(httpGet);
    System.out.println("----------------------------------------");
    System.out.println(EntityUtils.toString(getResponse.getEntity()));
    // post 请求
    HttpPost httpPost = new HttpPost("http://httpbin.org/post");
    //执行POST请求
    CloseableHttpResponse postResponse = httpClient.execute(httpPost);
    System.out.println("----------------------------------------");
    System.out.println(EntityUtils.toString(postResponse.getEntity()));
    }

回调处理方式

public static void useWithResponseHandler() throws IOException {
    //结果处理回调
    final HttpClientResponseHandler<String> responseHandler = response -> {
        final int status = response.getCode();
        if (status >= HttpStatus.SC_SUCCESS && status < HttpStatus.SC_REDIRECTION) {
            final HttpEntity entity = response.getEntity();
            try {
                return entity != null ? EntityUtils.toString(entity) : null;
            } catch (final ParseException ex) {
                throw new ClientProtocolException(ex);
            }
        } else {
            throw new ClientProtocolException("Unexpected response status: " + status);
        }
    };
   //生成客户端
    CloseableHttpClient httpClient = HttpClients.createDefault();
    //get 请求
    HttpGet httpGet = new HttpGet("http://httpbin.org/get");
    //执行GET请求
    String getResponseBody = httpClient.execute(httpGet, responseHandler);
    System.out.println("----------------------------------------");
    System.out.println(getResponseBody);
    // post 请求
    HttpPost httpPost = new HttpPost("http://httpbin.org/post");
    //执行POST请求
    String postResponseBody = httpClient.execute(httpPost, responseHandler);
    System.out.println("----------------------------------------");
    System.out.println(postResponseBody);
}

相关文章

网友评论

    本文标题:3.2 httpclient的简单使用

    本文链接:https://www.haomeiwen.com/subject/xowesktx.html