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

HttPClient简介及示例:学习如何与Web服务器进行通信

文章目录

  • 前言
  • 一、引入依赖
  • 二、使用步骤
  • 1.创建被调用者
  • 2.创建调用者
  • 三、结果
    • 被调用者服务:
    • 调用者服务:
  • 总结


前言

欢迎来到本篇博客,这是一个关于HttPClient的入门案例的指南。🎉
在今天的网络世界中,与服务器进行数据交互是开发应用程序的一个关键部分。
HttPClient是一款强大而灵活的工具,它帮助我们轻松发送和接收HTTP请求,并与各种Web服务器进行通信。
本文旨在为初学者提供一个简明扼要的入门指南,让您快速掌握HttPClient的基本知识和使用方法。🚀
我们将逐步引导您通过实际示例,展示如何使用HttPClient发送GET和POST请求,处理请求和响应,
以及其他一些常见的HTTP操作。
不管您是想开发一个支持远程数据交换的应用程序,还是想了解更多关于HttPClient的信息,
本篇博客都将为您提供有价值的知识和实际操作经验!!!💡
在开始之前,请确保您已经具备基本的Java编程知识和对HTTP协议的基本了解。
现在就让我们一起进入HttPClient的精彩世界,开始您的学习之旅吧!💪💻


一、引入依赖

如果您使用的是Maven项目,您可以使用以下依赖项将所需的类库添加到您的pom.xml文件中:

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

二、使用步骤

1.创建被调用者

创建一个项目,设置端口

server.port=8081

在项目下创建实体类User.java

import lombok.Data;@Data
public class User {private String userName;private String passWord;
}

在项目下创建类webTest .java,供调用者调用

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;@RestController
public class webTest {@GetMapping("/aa")public String aa(){return "成功";}@PostMapping("/bb")public String bb(@RequestBody User user){System.out.println(user);return "成功";}
}

2.创建调用者

重新创建一个项目,设置端口

server.port=8080

在项目创建测试类,调用被调用者服务

    /*** 测试通过httpclient发送GET方式的请求*/@Testpublic void testGET() throws Exception{//创建httpclient对象CloseableHttpClient httpClient = HttpClients.createDefault();//创建请求对象HttpGet httpGet = new HttpGet("http://localhost:8081/aa");//发送请求,接受响应结果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();}/*** 测试通过httpclient发送POST方式的请求*/@Testpublic void testPOST() throws Exception{// 创建httpclient对象CloseableHttpClient httpClient = HttpClients.createDefault();//创建请求对象HttpPost httpPost = new HttpPost("http://localhost:8081/bb");// 构造json格式字符串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();}

三、结果

被调用者服务:

在这里插入图片描述
成功被成功调用

调用者服务:

在这里插入图片描述
成功获取响应结果

总结

@作者:加辣椒了吗?
简介:憨批大学生一枚,喜欢在博客上记录自己的学习心得,也希望能够帮助到你们!
在这里插入图片描述

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

相关文章:

  • STS4 New 安装Spring Bean Configuration File
  • Java经典面试题(异或运算)
  • No primary or single unique constructor found for interface java.util.List
  • C#关于WebService中File.Exists()处理远程路径的异常记录
  • JavaWeb_LeadNews_Day10-Xxljob, Redis实现定时热文章
  • 【WebRTC---源码篇】(二:二)视频源VideoSourceBase
  • Linux_8_磁盘存储和文件系统
  • VS + QT 封装带UI界面的DLL
  • 逆向工程-架构真题(二十)
  • Zookeeper 入门
  • 记录--前端使用a链接下载内容增加loading效果
  • 如何获取用户的ip地址
  • 单片机-控制按键点亮LED灯
  • 微信小程序新版隐私协议弹窗实现最新版
  • GO语言圣经 第五章习题
  • 用kotlin 开发一个简单的多页面跳转
  • 记录我的tensorrt 部署yolov8
  • 什么是用户界面? 优漫动游
  • 基于 Docker 的 MySQL 主从复制搭建(Mac M1版本)
  • 【Locomotor运动模块】瞬移
  • 【负载均衡】常见的负载均衡策略有哪些?
  • ChatGPT如何应对紧急救援和医疗应急?
  • vue3 ref reactive响应式数据 赋值的问题
  • 【美团秋招】20230922小美的彩虹糖
  • 论文阅读_扩散模型_DM
  • 【每日运维】RockyLinux8.6升级OpenSSH9.4p1
  • libdrm全解析三十八 —— 源码全解析(35)
  • jar包和war包的区别
  • CloudCompare 二次开发(10)——点云投影到平面
  • 如何制作并运行 jar 程序