Java发送请求-http+https的

embedded/2024/11/9 16:58:27/

第一步:建议ssl连接对象,信任所有证书

第二步:代码同时支持http+https


引入源码类

是一个注册器

https://img-blog.csdnimg.cn/direct/a577617a802a4199871008232ac18fea.png" width="1200" />

引入这个类,和它的方法create

注册器,所以对httphttps都进行注册,参数为id和item,其中http的里的连接连接未知

https://img-blog.csdnimg.cn/direct/85ac85af27ed4a5f98398ebab82382c6.png" width="1200" /> 怎么找?

他们俩需要有同一个父类,但http必须是子类

所以看https的源码结构

https://img-blog.csdnimg.cn/direct/65f74fee8da440e997b5a2e5f296e993.png" width="1200" />https://img-blog.csdnimg.cn/direct/df7a3f621c2d43748f9c9e2aa281f135.png" width="1200" />

所以选择lay类

不安全的

https://img-blog.csdnimg.cn/direct/66930e8814f349c993f1ef689a5785cb.png" width="1192" />最终-需要一个对象,那new这个子类得到

https://img-blog.csdnimg.cn/direct/cc5a1302fb3e4043bcb1cdac0bada0b3.png" width="1200" />


 再看方法

https://img-blog.csdnimg.cn/direct/512fc1e49b374fdd97f20d81cf987ad6.png" width="1200" />

最后一个是生成注册器 

https://img-blog.csdnimg.cn/direct/9e75a1cdf0044f9c9888b3a874988900.png" width="1200" />

优化

https://img-blog.csdnimg.cn/direct/bf625b03c04f4ce7b41f4669884960d1.png" width="1200" /> 因为源码有<t>这里的t是父类,左右补齐

其中右边的规范就需要.在前

https://img-blog.csdnimg.cn/direct/378896abccd146cb95fa9e73f618258d.png" width="1200" />


 注册器和httpclient建立联系,在http代码上,找注册器的方法先放着,这个方法的返回值是httpclientconnectionManager

https://img-blog.csdnimg.cn/direct/2d9ef06d726d47f099532553285570d0.png" width="1200" />

将这个返回值引入,并新建一个方法,得到这个建立关系的对象

https://img-blog.csdnimg.cn/direct/76b341673fec4d139ee51bec52a1fc72.png" width="1200" />

 无参构造代码不会报错,但没有达到目的,下面这个参数就是注册器

https://img-blog.csdnimg.cn/direct/91dc303108834e939eca3711bcf53ea0.png" width="1200" />

可以直接将registry传入

https://img-blog.csdnimg.cn/direct/909f35b4e3db41998616709b7ce24ccc.png" width="1200" /> 将上传的回来

提前先建立100个连接对象

https://img-blog.csdnimg.cn/direct/418ed980d02a42379404539619520681.png" width="1200" />


httpclient绑定链接管理器

在这之前需要先运行前三步,才能得到管理器

https://img-blog.csdnimg.cn/direct/725ff85c09864134a27c28d8f719d479.png" width="1200" />

现在讲建立链接的对象传入httpclient里

但代码报错,报错原因是connection是隶属于handler代码块,connection是try代码块 https://img-blog.csdnimg.cn/direct/ea74cd32152042a790d3aadda73891c9.png" width="1200" />

所以将这里参数进行封装 

https://img-blog.csdnimg.cn/direct/a68b29cab20a44fc844accd924446ebb.png" width="1200" />增加下备注

https://img-blog.csdnimg.cn/direct/b2c129fcdd744049a16cc385e11c454a.png" width="1200" />

借一个一个,就不用关,就一个用完还回去,可以继续用,如果销毁就是每次使用完关闭https://img-blog.csdnimg.cn/direct/dd7fb43f8df54f64955ba320f063d7b8.png" width="1200" />


https://img-blog.csdnimg.cn/direct/004f046693c140b9965c55d2e3868fb6.png" width="1200" />测试

https://img-blog.csdnimg.cn/direct/cb22656dbcaa4eacacd36bec45bcbb04.png" width="1200" />


http://www.ppmy.cn/embedded/28376.html

相关文章

带宽的理解-笔记

带宽的理解 带宽(频带宽度)&#xff1a;是指电磁波最高频率和最低频率的差值&#xff0c;这一段频率被称为带宽。 举例说明 人耳能听到的频率范围是20赫兹到2万赫兹。换句话说&#xff0c;人而只对20赫兹至2万赫兹的声音频率有反应&#xff0c;超出或低于这一频率范围的声音我…

springboot全局处理sql异常

springboot全局异常处理&#xff0c;不会去拦截sql异常&#xff0c;导致错误返回到前端&#xff0c;&#xff0c;将sql中的字段暴露出来&#xff0c;很危险&#xff0c;&#xff0c; 因为ExceptionHandler 只认我们注入类的名称&#xff0c;&#xff0c;而SQLException不在里面…

如何利用有限的数据发表更多的SCI论文?——利用ArcGIS探究环境和生态因子对水体、土壤和大气污染物的影响

原文链接&#xff1a;如何利用有限的数据发表更多的SCI论文&#xff1f;——利用ArcGIS探究环境和生态因子对水体、土壤和大气污染物的影响https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247602528&idx6&snc89e862270fe54239aa4f796af07fb71&chksmfa82…

【BASH 常用脚本系列3 -- shell实现查找目录并进入目录】

文章目录 shell实现查找目录并进入目录脚本实现shell实现查找目录并进入目录 在linux中终端下工作,如果要进入一个深度很深的目录的话需要 cd ./xx/xx./.. 执行很多次,用起来很麻烦,有些人就建议使用autojump来实现,但是autojump 的一个缺点是:如果本地有多套代码,只是它…

安卓手机APP开发__媒体开发部分__用户界面定制

安卓手机APP开发__媒体开发部分__用户界面定制 目录 最佳实践 播放/暂停按钮 监听状态的更新 处理可用的指令 Media3提供了一个默认的播放器视图&#xff0c;这个视图提供了一些定制化的选项。 对于任何进一步的定制&#xff0c;APP开发者都期望实现他们的自己的用户界面的…

IDEA基于Maven构建项目

IDEA基于Maven构建项目 一、Maven简介 Apache Maven 是一个软件项目管理和理解工具。基于项目对象模型的概念&#xff08;POM&#xff09;&#xff0c;Maven 可以从中心信息中管理项目的构建、报告和文档。 Apache Maven 可以用于构建和管理任何基于 Java 的项目。 下载地址…

详解SDRAM基本原理以及FPGA实现读写控制

文章目录 一、SDRAM简介二、SDRAM存取结构以及原理2.1 BANK以及存储单元结构2.2 功能框图2.3 SDRAM速度等级以及容量计算 三、SDRAM操作命令3.1 禁止命令&#xff1a; 4b1xxx3.2 空操作命令&#xff1a;4b01113.3 激活命令&#xff1a;4b00113.4 读命令&#xff1a;4b01013.5 写…

浅谈OpenCV 粗略计算工件轮廓面积和外接圆直径(Emgu.CV)

前言 最近领导在做库房工具管理这块的功能&#xff0c;希望能集成OpenCV 粗略的计算出工具的长度&#xff0c;以方便用户再归还工具的时候&#xff0c;提示用户该放在那种尺寸的盒子里面&#xff0c;这便是这篇文章的由来。 我们的系统是基于.net开发的&#xff0c;所以采用的是…