使用HttpClient实现RPC-post请求操作

@Test
    public void testPostDemo() {
        // 1. 创建一个http工具类,作用类似浏览器
        CloseableHttpClient client = HttpClients.createDefault();
        try {
            // 2.获取 uri
            URIBuilder uriBuilder = new URIBuilder("http://localhost:8080/demo");
            // 3. 发送 Post 请求
            HttpPost httpPost = new HttpPost(uriBuilder.build());
            // 创建 Post 请求参数
            List<NameValuePair> pairs = new ArrayList<>();
            pairs.add(new BasicNameValuePair("param", "张三"));
            UrlEncodedFormEntity entity = new UrlEncodedFormEntity(pairs, "utf-8");
            httpPost.setEntity(entity);

            // 4. 响应 Post 请求
            CloseableHttpResponse response = client.execute(httpPost);
            // 5. 将响应体HttpEntity转为字符串,并设置字符集编码
            String res = EntityUtils.toString(response.getEntity(), "utf-8");
            // 6. 打印响应结果
            System.out.println(res);

            // 7. 释放资源
            response.close();
            client.close();
        } catch (URISyntaxException e) {
            e.printStackTrace();
        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
posted @ 2022-06-10 17:41  wjxuriel  阅读(125)  评论(0)    收藏  举报