当前位置: 首页 > news >正文

通过 HttpClient 发送请求

文章目录

    • 1. 引入 maven 依赖
    • 2. 发送 GET 方式的请求
    • 3. 发送 POST 方式的请求

1. 引入 maven 依赖

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

2. 发送 GET 方式的请求

package com.zxe;import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;@SpringBootTest
public class HttpClient {@Testpublic void test() throws Exception {//1.创建httpclient对象CloseableHttpClient httpClient = HttpClients.createDefault();//2.创建请求对象HttpGet httpGet = new HttpGet("http://localhost:8080/user/status");//3.发送请求,接收响应结果CloseableHttpResponse response = httpClient.execute(httpGet);//4.获取服务端返回的状态码int statusCode = response.getStatusLine().getStatusCode();System.out.println("服务端返回的状态码为:" + statusCode);//5.解析响应体HttpEntity entity = response.getEntity();String body = EntityUtils.toString(entity);System.out.println("服务端返回的数据为:" + body);//6.关闭资源response.close();httpClient.close();}}

在这里插入图片描述

3. 发送 POST 方式的请求

package com.zxe;import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.json.JSONObject;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;@SpringBootTest
public class HttpClient {@Testpublic void test() throws Exception {//1.创建httpclient对象CloseableHttpClient httpClient = HttpClients.createDefault();//2.创建请求对象HttpPost httpPost = new HttpPost("http://localhost:8080/admin/employee/login");//3.设置请求体参数JSONObject jsonObject = new JSONObject();jsonObject.put("username", "admin");jsonObject.put("password", "123456");StringEntity entity = new StringEntity(jsonObject.toString());entity.setContentEncoding("utf-8");//4.数据格式entity.setContentType("application/json");httpPost.setEntity(entity);//5.发送请求,接收响应结果CloseableHttpResponse response = httpClient.execute(httpPost);//4.获取服务端返回的状态码int statusCode = response.getStatusLine().getStatusCode();System.out.println("服务端返回的状态码为:" + statusCode);//5.解析响应体HttpEntity entity1 = response.getEntity();String body = EntityUtils.toString(entity1);System.out.println("服务端返回的数据为:" + body);//6.关闭资源response.close();httpClient.close();}}

在这里插入图片描述

http://www.lryc.cn/news/129032.html

相关文章:

  • 管理类联考——逻辑——真题篇——按知识分类——汇总篇——一、形式逻辑——假言——第二节 必要条件假言+第三节 特殊假言
  • 算法笔记:A*算法
  • postgresql 分类排名
  • TCP服务器实现—多进程版,多线程版,线程池版
  • Nginx 配置文件的完整指南 (二)
  • AI夏令营第三期 - 基于论文摘要的文本分类与关键词抽取挑战赛笔记
  • 使用qsqlmysql操作mysql提示Driver not loaded
  • Java云原生框架Quarkus初探
  • ElasticSearch相关概念
  • 微服务实战项目-学成在线-项目部署
  • 封装form表单
  • 程序员如何利用公网远程访问查询本地硬盘【内网穿透】
  • 算法|Day42 动态规划10
  • vmalert集成钉钉告警
  • 深入解析 MyBatis 中的 <foreach> 标签:优雅处理批量操作与动态 SQL
  • LeGO-Loam代码解析(二)--- Lego-LOAM的地面点分离、聚类、两步优化方法
  • 程序员如何利用公网打造低成本轻量化的搜索和下载平台【内网穿透】
  • 构建可远程访问的企业内部论坛
  • 2023河南萌新联赛第(六)场:河南理工大学-C 旅游
  • C语言 常用工具型API ----------strchr()
  • 建造者模式的理论与实现
  • 非计算机科班如何顺利转码进入计算机领域?
  • 【C++类和对象】类有哪些默认成员函数呢?(下)
  • springboot自定义banner的输出与源码解析
  • LeetCode 141.环形链表
  • Spring-Bean的生命周期
  • Cat(3):客户端集成—简单案例
  • 虚拟机/双系统Ubuntu扩容
  • Nginx搭建本地服务器,无需购买服务器即可测试vue项目打包后的效果
  • SpringBoot 接口调用出现乱码解决 中文乱码