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

httpclient GET 和POST 请求

GET请求

 

@SpringBootTest
public class HttpClientTest {

    /**
     * 测试通过httpclient发送get请求
     */
    @Test
    public void testGET() throws IOException {
        //创建httpclient对象
        CloseableHttpClient httpClient = HttpClients.createDefault();

        //创建请求对象
        HttpGet httpGet = new HttpGet("http://localhost:8080/user/shop/status");

        //发送请求,接受响应结果
        CloseableHttpResponse response = httpClient.execute(httpGet);

        //获取服务端返回的状态码
        int statusCode = response.getStatusLine().getStatusCode();
        System.out.println("服务端返回的状态码:" + statusCode);
        //获得具体的响应数据
        //获得响应体
        HttpEntity entity = response.getEntity();
        //解析HttpEntity对象  转化为string字符串
        String body = EntityUtils.toString(entity);
        //响应体body
        System.out.println("服务端返回的数据为:" + body);

        //关闭资源
        response.close();
        httpClient.close();
    }

POST请求

    /**
     * 测试通过httpclient发送post请求
     */
    @Test
    public void testPOST() throws IOException {
        //创建httpclient对象
        CloseableHttpClient httpClient = HttpClients.createDefault();

        //创建请求对象
        HttpPost httpPost = new HttpPost("http://localhost:8080/admin/employee/login");

        //post需要传参数  设置请求参数65-76

        //用jsonobject 把字符串转出来
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("username", "admin");
        jsonObject.put("password", "123456");

        //jsonObject.toJSONString()   构造JSON格式的字符串
        //设置请求参数
        StringEntity entity = new StringEntity(jsonObject.toJSONString());
        //指定请求编码方法
        entity.setContentEncoding("UTF-8");
        //指定数据格式
        entity.setContentType("application/json");
        //数据封装到 httpPost 里面去
        httpPost.setEntity(entity);

        //发送请求
        CloseableHttpResponse response = httpClient.execute(httpPost);

        //解析返回的结果

        int statusCode = response.getStatusLine().getStatusCode();
        System.out.println("响应码为:" + statusCode);

        //具体响应回来的数据
        HttpEntity entity1 = response.getEntity();
        //响应体body
        String body = EntityUtils.toString(entity1);
        System.out.println("响应数据为"+body);

        //关闭资源
        response.close();
        httpClient.close();
    }
}


http://www.kler.cn/a/454643.html

相关文章:

  • 【Unity开发】低版本HDRenderPipeline升级到HDRP14.x版本问题笔记
  • 多个微服务 Mybatis 过程中出现了Invalid bound statement (not found)的特殊问题
  • 前端开发 -- 自动回复机器人【附完整源码】
  • 【c语言】简单的c程序设计
  • 从百度云网盘下载数据到矩池云网盘或者服务器内
  • MongoDB 创建用户、User、Role 相关 操作
  • Qt存储大整数到`JsonValue`
  • 赋能开发者 | 麒麟信安受邀参加2024开放原子开发者大会,以技术为引领,以人才创发展
  • 解读DeepseekV3
  • Go+chromedp实现Web UI自动化测试
  • uniapp 文本转语音
  • 挑战一个月基本掌握C++(第十二天)了解命名空间,模板,预处理器
  • 前端Python应用指南(五)用FastAPI快速构建高性能API
  • 同步异步日志系统:设计模式
  • ubuntu 账号从文本中的1000,改成0,后五笔输入法等中文输入法不可用,如何改回来
  • 【Ubuntu 20.4安装截图软件 flameshot 】
  • 全面Kafka监控方案:从配置到指标
  • 【自由能系列(初级),论文解读】神经网络中,熵代表系统的不确定性,自由能则引导系统向更低能量的状态演化,而动力学则描述了系统状态随时间的变化。
  • flask后端开发(11):User模型创建+注册页面模板渲染
  • 使用Python实现自动化文档生成工具:提升文档编写效率的利器
  • STM32F103RCT6学习之一:基本开发流程
  • FileLink为企业打造了一站式的跨网安全文件共享解决方案
  • Docker使用——国内Docker的安装办法
  • 前端面试题合集(一)——HTML/CSS/Javascript/ES6
  • Kubernetes Gateway API-2-跨命名空间路由
  • 鸿蒙Next自定义相机开发时,如何解决相机在全屏预览的时候,画面会有变形和拉伸?