HttpClient入门

news2024/11/28 7:32:54

HttpClient入门

简介

HttpClient 是 Apache HttpComponents 项目中的一个开源的 Java HTTP 客户端库,用于发送 HTTP 请求和处理 HTTP 响应。它提供了一组强大而灵活的 API,使得在 Java 程序中执行 HTTP 请求变得相对简单

maven依赖

org.apache.httpcomponents httpclient 4.5.2

或者导入阿里云oss

com.aliyun.oss aliyun-sdk-oss

里面包含了httpclient

核心API:-

  • HttpClient.
  • HttpClients
  • CloseableHttpClient.
  • HttpGet
  • HttpPost

发送请求步骤

创建HttpClient对象

创建http请求对象

调用HttpClient的execute方法发送请求

示例get

  @Test
    public void httpGetTest() throws IOException {
        //获取创建HttpClient对象
        HttpClient httpClient = HttpClients.createDefault();
        //创建http请求对象
        HttpGet httpGet = new HttpGet("http://localhost:8080/user/shop/status");
        //调用HttpClient的execute方法发送请求,并获得响应
        HttpResponse response = httpClient.execute(httpGet);
        //获得响应的状态码
        int statusCode = response.getStatusLine().getStatusCode();
        System.out.println(statusCode);
        //获得响应体
        HttpEntity entity = response.getEntity();
        System.out.println(entity);
    }

在这里插入图片描述

示例post

@Test
    public void httpPostTest() throws IOException, JSONException {
        //获取创建HttpClient对象
        CloseableHttpClient httpClient = HttpClients.createDefault();
        //创建http请求对象
        HttpPost httpPost = new HttpPost("http://localhost:8080/admin/employee/login");
        JSONObject jsonObject = new JSONObject();
        //封装数据形式
        jsonObject.put("username","admin");
        jsonObject.put("password","123456");
        StringEntity stringEntity = new StringEntity(jsonObject.toString());
        stringEntity.setContentEncoding("utf8");
        stringEntity.setContentType("application/json");
        httpPost.setEntity(stringEntity);
        //调用HttpClient的execute方法发送请求,并获得响应
        CloseableHttpResponse response = httpClient.execute(httpPost);

        int statusCode = response.getStatusLine().getStatusCode();
        System.out.println(statusCode);
        HttpEntity entity = response.getEntity();
        System.out.println(entity);

    }

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1349005.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

72内网安全-域横向CSMSF联动及应急响应知识

拿到才行,拿不到就是多余的 案例一MSF&CobaltStrike 联动 Shell 有一些功能可能cs或者msf强大一些,他们两个可以相互调用,在真实情况下也是可以cs和msf同时启动的, cs移交给msf .创建Foreign监听器 “Listeners”“Add”…

[NAND Flash 4.2] Flash 原理 | NOR Flash 和 NAND Flash 闪存详解

依公知及经验整理,原创保护,禁止转载。 专栏 《深入理解NAND Flash》 <<<< 返回总目录 <<<< 前言 智能手机有一个可用的存储空间(如苹果128G),电脑里有一个固态硬盘空间(如联想512G), 这个空间是啥呢? 这个存储空间就是闪存设备,我们都统称为…

ILI9481 TFT3.5寸屏STM32F446ZEXX FMC驱动方式详解

图片来源于网络&#xff0c;如若侵权请联系博主删除 文章目录 1. 背景2. 基础知识2.1 TFT-LCD2.2 硬件接线2.3 FMC2.4 ILI9481 3. 软件抽象 1. 背景 最近做项目需要&#xff0c;博主在某宝上买了一块3.5寸的TFT屏&#xff0c;店家虽然发了资料&#xff0c;但是往产品上移植驱动…

动画墙纸:将视频、网页、游戏、模拟器变成windows墙纸——Lively Wallpaper

文章目录 前言下载github地址&#xff1a;网盘 关于VideoWebpagesYoutube和流媒体ShadersGIFs游戏和应用程序& more:Performance:多监视器支持&#xff1a;完结 前言 Lively Wallpaper是一款开源的视频壁纸桌面软件&#xff0c;类似 Wallpaper Engine&#xff0c;兼容 Wal…

PiflowX组件-JDBCRead

JDBCRead组件 组件说明 使用JDBC驱动向任意类型的关系型数据库读取数据。 计算引擎 flink 有界性 Scan Source: Bounded Lookup Source: Sync Mode 组件分组 Jdbc 端口 Inport&#xff1a;默认端口 outport&#xff1a;默认端口 组件属性 名称展示名称默认值允许…

Vue(一):Vue 入门与 Vue 指令

Vue 01. Vue 快速上手 1.1 Vue 的基本概念 用于 构建用户界面 的 渐进性 框架 构建用户界面&#xff1a;基于数据去渲染用户看到的界面渐进式&#xff1a;不需要学习全部的语法就能完成一些功能&#xff0c;学习是循序渐进的框架&#xff1a;一套完整的项目解决方案&#x…

数据结构与算法——符号表API设计及有序符号表设计

Java学习手册面试指南&#xff1a;https://javaxiaobear.cn 符号表最主要的目的就是将一个键和一个值联系起来&#xff0c;符号表能够将存储的数据元素是一个键和一个值共同组成的键值对数据&#xff0c;我们可以根据键来查找对应的值。 符号表中&#xff0c;键具有唯一性。 符…

PiflowX组件-WriteToUpsertKafka

WriteToUpsertKafka组件 组件说明 以upsert方式往Kafka topic中写数据。 计算引擎 flink 有界性 Streaming Upsert Mode 组件分组 kafka 端口 Inport&#xff1a;默认端口 outport&#xff1a;默认端口 组件属性 名称展示名称默认值允许值是否必填描述例子kafka_h…

QT音频编程实战项目(一)ui搭建和槽函数的完成

第一个类实现播放音乐&#xff0c;第二个类实现歌曲列表&#xff0c;第三个类是播放本地歌曲 上边是歌曲的总时长&#xff0c;下边是当前播放的时长。 所需要的槽函数如上图。 这个是构造函数&#xff1a; …

基于JavaWeb实验室预约管理系统(源码+数据库+文档)

一、项目简介 本项目是一套基于JavaWeb实验室预约管理系统&#xff0c;主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;e…

OFDM——PAPR减小

文章目录 前言一、PAPR 减小二、MATLAB 仿真1、OFDM 信号的 CCDF①、MATLAB 源码②、仿真结果 2、单载波基带/通频带信号的 PAPR①、MATLAB 源码②、仿真结果 3、时域 OFDM 信号和幅度分布①、MATLAB 源码②、仿真结果 4、Chu 序列和 IEEE802.16e 前导的 PAPR①、MATLAB 源码②…

ToDesk Linux 客户端安装(欧拉系统)

下载链接 下载链接 https://newdl.todesk.com/linux/todesk-v4.3.1.0-x86_64.rpm &#xff08;使用4.3.1.0覆盖安装后&#xff0c;临时密码将会变更&#xff09; 安装命令&#xff1a; sudo rpm -Uvh todesk-v4.3.1.0-x86_64.rpm启动命令&#xff1a; todesk启动命令只能在桌…

算法通关村第二十关-白银挑战图的存储与遍历

大家好我是苏麟, 今天继续聊图 . 与前面的链表、树等相比&#xff0c;图的存储和遍历要复杂非常多 .所以理解就好 , 面试基本不会让写代码的 . 图的类型多、表示方式多&#xff0c;相关算法也很多&#xff0c;实现又过于复杂&#xff0c;多语言实现难度太大了。这些算法一般理…

Ultra ISO 虚拟光驱修改光盘盘符

windows xp 环境 ultra iso 虚拟光驱修改光盘盘符 method 1. 在ultra iso 中 [选项]->[配置]->[虚拟光驱]&#xff0c;在新盘符里选指定盘符 ->[修改] method 2. 打开命令行&#xff0c;进入安装目录&#xff0c;如 "C:\Program Files\UltraISO\drivers"&…

浅析锂电池保护板(BMS)系统设计思路(四)SOC算法-扩展Kalman滤波算法

1 SOC估算方法介绍 电池SOC的估算是电池管理系统的核心&#xff0c;自从动力电池出现以来&#xff0c;各种各样的电池SOC估算方法不断出现。随着电池管理系统的逐渐升级&#xff0c;电池SOC估算方法的效率与精度不断提高&#xff0c;下面将介绍常用几种电池SOC估算方法[1]&…

2023年总结及2024年规划:我们结婚啦

目录 1、回首2023 1.1、生活方面 1.2、工作方面 1.3、学习方面 2、展望2024 2.1、生活方面 2.2、工作方面 2.3、学习方面 2023年最重要的事情当然是我们结婚啦&#xff01; 1、回首2023 1.1、生活方面 今年五一假期&#xff0c;我和对象回老家在双方亲友的见证下完…

HarmonyOS 路由传参

本文 我们来说两个page界面间的数据传递 路由跳转 router.pushUrl 之前我们用了不少了 但是我们只用了它的第一个参数 url 其实他还有个params参数 我们第一个组件可以编写代码如下 import router from ohos.router Entry Component struct Index {build() {Row() {Column() …

ES6之Proxy详解

✨ 专栏介绍 在现代Web开发中&#xff0c;JavaScript已经成为了不可或缺的一部分。它不仅可以为网页增加交互性和动态性&#xff0c;还可以在后端开发中使用Node.js构建高效的服务器端应用程序。作为一种灵活且易学的脚本语言&#xff0c;JavaScript具有广泛的应用场景&#x…

虚拟专线网络(IP-VPN)

虚拟专线网络(IP-VPN)&#xff0c;因为它的安全性和可靠性。通过亚洲领先的 IP VPN 提供商。享受更高的可管理性和可扩展性&#xff0c;在多个站点之间交付 IP 流量或数据包&#xff0c;拥有亚太地区最大的 IP 骨干网。 1&#xff0c;保证正常运行时间&#xff0c;在网络链路发…

设计模式设计原则——依赖倒置原则(DIP)

DIP&#xff1a;Dependence Inversion Principle 原始定义&#xff1a;High level modules should not depend upon low level modules. Both should depend upon abstractions. Abstractions should not depend upon details. Details should depend upon abstractions。 官…