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

HttpClient-Java程序中发送Http请求

配置

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

ps:aliyun-sdk-oss中已引入上述配置

HttpClient的核心API:

  • HttpClient:Http客户端对象类型,使用该类型对象可发起Http请求。

  • HttpClients:可认为是构建器,可创建HttpClient对象。

  • CloseableHttpClient:实现类,实现了HttpClient接口。

  • HttpGet:Get方式请求类型。 (url?name=lisi)

  • HttpPost:Post方式请求类型。 (url,body StringEntity)

Get方式请求

  1. 创建HttpClient对象

  2. 创建请求对象

  3. 发送请求,接受响应结果

  4. 解析结果

  5. 关闭资源

package com.sky.test;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 HttpClientTest {/*** 测试通过httpclient发送GET方式的请求*/@Testpublic void testGET() throws Exception{//创建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();String body = EntityUtils.toString(entity);System.out.println("服务端返回的数据为:" + body);//关闭资源response.close();httpClient.close();}
}

POST方式请求

  1. 创建HttpClient对象

  2. 创建请求对象

  3. 发送请求,接收响应结果

  4. 解析响应结果

  5. 关闭资源

	/*** 测试通过httpclient发送POST方式的请求*/@Testpublic void testPOST() throws Exception{// 创建httpclient对象CloseableHttpClient httpClient = HttpClients.createDefault();//创建请求对象HttpPost httpPost = new HttpPost("http://localhost:8080/admin/employee/login");JSONObject jsonObject = new JSONObject();jsonObject.put("username","admin");jsonObject.put("password","123456");StringEntity entity = new StringEntity(jsonObject.toString());//指定请求编码方式entity.setContentEncoding("utf-8");//数据格式entity.setContentType("application/json");httpPost.setEntity(entity);//发送请求CloseableHttpResponse response = httpClient.execute(httpPost);//解析返回结果int statusCode = response.getStatusLine().getStatusCode();System.out.println("响应码为:" + statusCode);HttpEntity entity1 = response.getEntity();String body = EntityUtils.toString(entity1);System.out.println("响应数据为:" + body);//关闭资源response.close();httpClient.close();}

相关文章:

HttpClient-Java程序中发送Http请求

配置 <dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.13</version> </dependency> ps:aliyun-sdk-oss中已引入上述配置 HttpClient的核心API&#xff1a; Htt…...

硬件-电源-隔离与非隔离的区别

文章目录 一&#xff1a;隔离电源与非隔离电源1.1 充电器触电新闻1.2 电路拓扑1.3 隔离电源与非隔离电源的优缺点1.3 隔离电源与非隔离电源的选择1.3.1 隔离电源1.3.2 非隔离电源 二&#xff1a;注意事项2.1 隔离电源结构图2.1 隔离耐压测试方法 三&#xff1a;感悟道友&#x…...

Kubernetes 最佳实践:Top 10 常见 DevOps/SRE 面试问题及答案

1. 如何在 Kubernetes 中设置资源请求和限制&#xff1f; 资源请求确保容器有最小资源量&#xff08;CPU/内存&#xff09;&#xff0c;而限制则强制容器消耗的最大资源量。这有助于高效资源分配并防止资源争用。 示例&#xff1a; resources:requests:memory: "256Mi&…...

Training for Computer Use

Training for Computer Use 核心事件&#xff1a;多家科技公司推出能操控计算机的智能体&#xff0c;字节跳动和清华大学团队引入UI - TARS模型&#xff0c;展示了训练模型实现计算机操控能力的新成果。 UI - TARS模型 基本信息&#xff1a;是视觉 - 语言模型Qwen2 - VL的微调版…...

PH热榜 | 2025-02-14

1. Beatoven.ai 标语&#xff1a;能创作完美背景音乐的AI作曲家 介绍&#xff1a;Beatoven.ai 能根据简单的提示生成惊艳的背景音乐&#xff0c;用于你的内容创作。它是由世界各地的真实音乐家倾力打造&#xff08;并使用了大量数据&#xff09;。无需任何音乐专业知识&#…...

工业物联网远程监控系统优化方案,基于巨控GRM553Y-CHE

工业物联网远程监控系统优化方案 ——基于巨控GRM553Y-CHE的西门子S7-1500 PLC多站点无线集成方案 1. 项目背景与概述 巨控科技作为工业物联网解决方案提供商&#xff0c;专注于PLC无线通信与远程监控技术研发&#xff0c;其YunPLC安全平台已服务超30,000工业终端&#xff0c…...

报名丨Computer useVoice Agent :使用 TEN 搭建你的 Mac Assistant

与 TEN 相聚在「LET’S VISION 2025」大会&#xff0c;欢迎来展位上跟我们交流。这次我们还准备了一场聚焦「computer use」的工作坊&#xff0c;功能新鲜上线&#xff0c;线下首波体验&#xff01; &#x1f4c5; TEN 展位&#xff1a;2025年3月1日-2日 TEN workshop&#x…...

Flutter 中的生命周期

在 Flutter 中&#xff0c;StatefulWidget 和 StatelessWidget 这两种 Widget 的生命周期不同&#xff0c;主要关注的是 StatefulWidget&#xff0c;因为它涉及到状态的管理和更新。 StatefulWidget 的生命周期&#xff1a; 1. 创建阶段 (Create) createState()&#xff1a;…...

深度整理总结MySQL——redoLog日志工作原理

redo log的工作原理 前言概念为什么需要redo log修改undo页面,会记录对应的redo log吗redo log 和undo log 区别在哪什么是WAL技术redo log要写入磁盘,数据也要写入磁盘,为什么多此一举产生的redo log直接写入磁盘吗redo log 什么时候刷盘innodb_flush_log_at_trx_commit 参数参…...

备战蓝桥杯 Day1 回顾语言基础

开启蓝桥杯刷题之路 Day1 回顾语言基础 1.配置dev 工具->编译选项->勾选编译时加入以下命令->设定编译器配置(release和debug)都要-> -stdc11 ->代码生成/优化->代码生成/优化->语言标准(-std)->ISO C11 ->代码警告->显示最多警告信息(-Wall)…...

小记大模型本地部署:vllm, lmdeploy, ollama

记录一下最近折腾的大模型本地部署。由于学校有部署deepseek的竞赛&#xff08;觉得扯不&#xff1f;&#xff09;所以首选ollama这种超级简单的来过关&#xff0c;但我最希望的还是用专门的推理工具部署&#xff0c;因为做应用开发推理速度一定最重要。所以先尝试自己想搞的vl…...

MySQL查看存储过程和存储函数

【图书推荐】《MySQL 9从入门到性能优化&#xff08;视频教学版&#xff09;》-CSDN博客 《MySQL 9从入门到性能优化&#xff08;视频教学版&#xff09;&#xff08;数据库技术丛书&#xff09;》(王英英)【摘要 书评 试读】- 京东图书 (jd.com) MySQL9数据库技术_夏天又到了…...

从零到一:开发并上线一款极简记账本小程序的完整流程

从零到一&#xff1a;开发并上线一款极简记账本小程序的完整流程 目录 前言需求分析与功能设计 2.1 目标用户分析2.2 核心功能设计2.3 技术栈选择 开发环境搭建 3.1 微信开发者工具安装与配置3.2 项目初始化3.3 版本控制与协作工具 前端开发 4.1 页面结构与布局4.2 组件化开发…...

卷积神经网络实战人脸检测与识别

文章目录 前言一、人脸识别一般过程二、人脸检测主流算法1. MTCNN2. RetinaFace3. CenterFace4. BlazeFace5. YOLO6. SSD7. CascadeCNN 三、人脸识别主流算法1.deepface2.FaceNet3.ArcFace4.VGGFace5.DeepID 四、人脸识别系统实现0.安装教程与资源说明1. 界面采用PyQt5框架2.人…...

【面试题系列】Java 多线程面试题深度解析

本文涉及Java 多线程面试题&#xff0c;从基础到高级&#xff0c;希望对你有所帮助&#xff01; 一、基础概念类 1. 请简述 Java 中线程的几种状态及其转换条件 题目分析&#xff1a;这是多线程基础中的基础&#xff0c;考查对线程生命周期的理解&#xff0c;在多线程编程中&…...

【C语言】左旋字符串(三种实现方式)

题目&#xff1a; 实现一个函数&#xff0c;可以左旋字符串中的k个字符。 例如&#xff1a; ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB 方法一&#xff1a; 我们画个图分析一下&#xff1a; 基本逻辑&#xff1a; 就是我们每一次旋转之前&#xff0c;我们就取出…...

数论补充 之 前后缀分解问题

文章目录 [0,i-1] 和 [i1,n-1] 共同作用3334,数组的最大因子得分 对于前缀分解问题&#xff0c;我愿把它分为几个大问题&#xff1a;[0,i] 或 [i,n-1] 或 [l,r],或 [0,i-1] 和 [i1,n-1] 共同作用的问题 [0,i-1] 和 [i1,n-1] 共同作用 3334,数组的最大因子得分 3334,数组的最大…...

IoTDB 集群节点 IP 改变,如何更新集群

问题 问题1&#xff1a;如果 IoTDB 配置的时候用的 IP&#xff0c;没有用 hostname&#xff0c;后面 IP 修改了&#xff0c;历史数据需要重新导吗&#xff1f; 问题2&#xff1a;如果现场运行 IoTDB 半年&#xff0c;电脑 IP 要改的话&#xff0c;半年的数据要导出来再导入么…...

【AI系列】从零开始学习大模型GPT (2)- Build a Large Language Model (From Scratch)

前序文章 【AI系列】从零开始学习大模型GPT (1)- Build a Large Language Model (From Scratch) Build a Large Language Model 背景第1章:理解大型语言模型第2章:处理文本数据第3章:编码Attention机制什么是Attention机制?Attention机制的基本原理数学表示应用总结为什么要…...

webshell通信流量分析

环境安装 Apatche2 php sudo apt install apache2 -y sudo apt install php libapache2-mod-php php-mysql -y echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php sudo ufw allow Apache Full 如果成功访问info.php&#xff0c;则环境安…...

2026届学术党必备的五大降AI率方案实测分析

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 人工智能技术于学术写作领域的运用愈发广泛&#xff0c;给研究者予以从文献综述至草稿生成的…...

Unity半透明Shader:从阴影投射到接收的完整实战解析

1. 半透明Shader的两种实现方式 在Unity中实现半透明效果主要有两种技术路线&#xff1a;透明度测试&#xff08;Alpha Test&#xff09;和透明度混合&#xff08;Alpha Blending&#xff09;。这两种方式看似都能实现透明效果&#xff0c;但底层原理和适用场景却大相径庭。 …...

贾子竞争哲学(Kucius Competition Philosophy)完整体系与战略应用

贾子竞争哲学&#xff08;Kucius Competition Philosophy&#xff09;完整体系与战略应用摘要贾子竞争哲学&#xff08;Kucius Competition Philosophy&#xff09;是一套彻底颠覆西方传统竞争范式的文明级战略理论&#xff0c;其核心主张是&#xff1a;竞争的本质从来不是主动…...

基于Playwright与技能化架构的多平台内容自动发布系统实践

1. 项目概述与核心价值最近在折腾一个挺有意思的东西&#xff0c;一个叫“multi-post”的开源项目。简单来说&#xff0c;这玩意儿能让你写一套脚本&#xff0c;然后自动把内容同步发布到多个不同的社交媒体平台上。听起来是不是有点像市面上那些付费的社交媒体管理工具&#x…...

基于Gemini大模型的自动化学术研究工具:从原理到实践

1. 项目概述&#xff1a;当AI学会自主研究 最近在GitHub上闲逛&#xff0c;发现了一个让我眼前一亮的项目&#xff1a; supratikpm/gemini-autoresearch 。简单来说&#xff0c;这是一个利用Google的Gemini大语言模型&#xff0c;实现自动化、端到端学术研究的工具。作为一名…...

ngx_unix_recv

1 定义 ngx_unix_recv 函数 定义在 ./nginx-1.24.0/src/os/unix/ngx_recv.cssize_t ngx_unix_recv(ngx_connection_t *c, u_char *buf, size_t size) {ssize_t n;ngx_err_t err;ngx_event_t *rev;rev c->read;#if (NGX_HAVE_KQUEUE)if (ngx_event_flags & N…...

Taotoken用量看板如何帮助团队清晰掌控API成本

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Taotoken用量看板如何帮助团队清晰掌控API成本 对于使用大模型API进行开发的团队而言&#xff0c;成本控制一直是一个核心的管理挑…...

终极网盘加速方案:3步实现多平台高速数据流优化

终极网盘加速方案&#xff1a;3步实现多平台高速数据流优化 【免费下载链接】baiduyun 油猴脚本 - 一个免费开源的网盘下载助手 项目地址: https://gitcode.com/gh_mirrors/ba/baiduyun 网盘直链下载助手是一款开源免费的浏览器脚本工具&#xff0c;专为解决主流云存储服…...

FigmaCN:3分钟解锁中文设计界面,设计师翻译校验的专业汉化方案

FigmaCN&#xff1a;3分钟解锁中文设计界面&#xff0c;设计师翻译校验的专业汉化方案 【免费下载链接】figmaCN 中文 Figma 插件&#xff0c;设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 当你打开Figma准备开始一天的设计工作时&#xff…...

2025年九大网盘直链下载助手:免费高效的文件下载终极方案

2025年九大网盘直链下载助手&#xff1a;免费高效的文件下载终极方案 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天…...