zoukankan      html  css  js  c++  java
  • HttpClient

    1、介绍

      HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。

    2、功能

    (1)实现了所有 HTTP 的方法(GET,POST,PUT,HEAD 等)

    (2)支持自动转向

    (3)支持 HTTPS 协议

    (4)支持代理服务器等

    3、导入依赖

            <!-- httpclient -->
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
            </dependency>

    4、使用方法

    (1)执行get请求

    @Test
        public void doGet() throws Exception {
            //创建一个httpclient对象
            CloseableHttpClient httpClient = HttpClients.createDefault();
            //创建一个GET对象
            HttpGet get = new HttpGet("http://www.baidu.com");
            //执行请求
            CloseableHttpResponse response = httpClient.execute(get);
            //取响应的结果
            int statusCode = response.getStatusLine().getStatusCode();
            System.out.println(statusCode);
            HttpEntity entity = response.getEntity();
            String string = EntityUtils.toString(entity, "utf-8");
            System.out.println(string);
            //关闭httpclient
            response.close();
            httpClient.close();
        }

    (2)执行带参数的get请求

    public void doGetWithParam() throws Exception{
            //创建一个httpclient对象
            CloseableHttpClient httpClient = HttpClients.createDefault();
            //创建一个uri对象
            URIBuilder uriBuilder = new URIBuilder("http://www.sogou.com/web");
            uriBuilder.addParameter("query", "李白");
            HttpGet get = new HttpGet(uriBuilder.build());
            //执行请求
            CloseableHttpResponse response = httpClient.execute(get);
            //取响应的结果
            int statusCode = response.getStatusLine().getStatusCode();
            System.out.println(statusCode);
            HttpEntity entity = response.getEntity();
            String string = EntityUtils.toString(entity, "utf-8");
            System.out.println(string);
            //关闭httpclient
            response.close();
            httpClient.close();
        }

    (3)执行post请求

    public void doPost() throws Exception {
            CloseableHttpClient httpClient = HttpClients.createDefault();
            //创建一个post对象
            HttpPost post = new HttpPost("http://localhost:8088/httpclient/post.html");
            //执行post请求
            CloseableHttpResponse response = httpClient.execute(post);
            String string = EntityUtils.toString(response.getEntity());
            System.out.println(string);
            response.close();
            httpClient.close();
        }

    (4)执行带参数的post请求

    @Test
        public void doPostWithParam() throws Exception{
            CloseableHttpClient httpClient = HttpClients.createDefault();       
            //创建一个post对象
            HttpPost post = new HttpPost("http://localhost:8088/httpclient/post.html");
            //创建一个Entity
            List<NameValuePair> kcList = new ArrayList<>();
            kcList.add(new BasicNameValuePair("username", "lisi"));
            kcList.add(new BasicNameValuePair("password", "123456"));      
            //包装成一个Entity对象
            StringEntity entity = new UrlEncodedFormEntity(kcList, "utf-8");
            //设置请求的内容
            post.setEntity(entity);     
            //执行post请求
            CloseableHttpResponse response = httpClient.execute(post);
            String string = EntityUtils.toString(response.getEntity());
            System.out.println(string);
            response.close();
            httpClient.close();
        }
  • 相关阅读:
    每日口语(6.12)
    The usage of thumb
    Chart相关网站
    每日口语(6.14)
    我为世界杯狂
    一个很简单的javascript问题,看你能否答对
    【转】理解伪元素:Before和:After
    JS BOM之location.hash详解
    JS BOM之location对象
    JS BOM之location.hash的用法
  • 原文地址:https://www.cnblogs.com/wangzicong/p/15714229.html
Copyright © 2011-2022 走看看