利用httpClient发起https请求-程序员宅基地

HttpClientBuilder b = HttpClientBuilder.create();
// setup a Trust Strategy that allows all certificates.
//
SSLContext sslContext;
try {
sslContext = new SSLContextBuilder().loadTrustMaterial(null, (i, j) -> true).build();
} catch (Exception e) {
throw new RuntimeException(e);
}
b.setSslcontext(sslContext);
// don't check Hostnames, either.
// -- use SSLConnectionSocketFactory.getDefaultHostnameVerifier(), if you don't want to weaken
HostnameVerifier hostnameVerifier = NoopHostnameVerifier.INSTANCE;
// here's the special part:
// -- need to create an SSL Socket Factory, to use our weakened "trust strategy";
// -- and create a Registry, to register it.
//
SSLConnectionSocketFactory sslSocketFactory = new SSLConnectionSocketFactory(sslContext, hostnameVerifier);
Registry<ConnectionSocketFactory> socketFactoryRegistry = RegistryBuilder.<ConnectionSocketFactory>create()
.register("http", PlainConnectionSocketFactory.getSocketFactory())
.register("https", sslSocketFactory)
.build();
// now, we create connection-manager using our Registry.
// -- allows multi-threaded use
PoolingHttpClientConnectionManager connMgr = new PoolingHttpClientConnectionManager(socketFactoryRegistry);
if(PropertiesUtils.getInstance().getSwitch("httpclient.control.switch")){
// 总连接数
connMgr.setMaxTotal(PropertiesUtils.getInstance().getProperty("httpclient.maxTotalConnections", 50));
// 同路由的并发数
connMgr.setDefaultMaxPerRoute(PropertiesUtils.getInstance().getProperty("httpclient.maxConnectionPerHost", 10));
b.setConnectionManager(connMgr);
// 失败默认重试3次
b.setRetryHandler(new DefaultHttpRequestRetryHandler());
}else{
connMgr.setMaxTotal(200);
connMgr.setDefaultMaxPerRoute(100);
b.setConnectionManager(connMgr);
// finally, build the HttpClient;
// -- done!
}
return b.build();

转载于:https://www.cnblogs.com/koushr/p/5873417.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_33936401/article/details/94490418

智能推荐

Jetson Nano - 实现VNC远程桌面控制_no such key enabled-程序员宅基地

文章浏览阅读1w次,点赞6次,收藏60次。[Jetson Nano]如何实现VNC远程桌面控制本文教你如何实现VNC到你的Jetson Nano,这样就不需要连接屏幕来实现远程桌面控制啦。树莓派官方系统默认是安装了RealVNC的服务,只需在电脑上到RealVNC官方下载软件VNC Viewer,即可方便VNC实现树莓派远程桌面控制。然而……Jetson Nano就没这么直接了。事不宜迟,以下是搭建VNC服务的正式教程:1. 安装..._no such key enabled

物联网在智慧城市建设中的关键作用:连接、感知、智能响应_智慧城市 物联感知 问题-程序员宅基地

文章浏览阅读1k次,点赞14次,收藏6次。智慧城市是指通过运用先进的信息和通信技术,实现城市基础设施、公共服务、交通管理、环境保护等领域的智能化,以提升城市运行的效率和居民的生活质量。在获取了丰富的城市信息和数据后,物联网技术通过大数据分析和人工智能算法,可以对这些信息进行处理和分析,从而实现对城市运行状态的智能预测和决策。“方案365”全新整理智慧城市、数据治理、智慧农业、智慧应急、数字孪生、乡村振兴、智慧乡村、元宇宙、数据中台、智慧园区、智慧矿山、城市生命线、智慧水利、智慧校园、智慧工地、智慧农业、智慧旅游等300+行业全套解决方案。_智慧城市 物联感知 问题

把乐谱播出来,自制Arduino简谱播放库_arduion发声模块,播放乐谱-程序员宅基地

文章浏览阅读7.2k次,点赞6次,收藏15次。昨天我发了一章关于UNO+喇叭就可以播放歌曲的文章。文章到最后也没有完成整个天空之城歌曲。因为实在是太麻烦了。。于是今天就苦思冥想,想借此机会整理出一个简谱的播放程序。借此来播放所有简谱写成的歌曲。既能提高复用性,也很有趣。先来看看成果吧。 那么既然要写库,我们来一步步分析我们要完成的工作吧:1、如何把简谱用程序里的数据表示出来。_arduion发声模块,播放乐谱

【我的Python学习之旅】python语言基础 之 表达式和运算符(五)_python一个表达式中出现多种运算符时,按照小括号运算符、逻辑型、测试性、关-程序员宅基地

文章浏览阅读671次。表达式的组成表达式是可以计算的代码片段,由操作数和运算符构成。操作数、运算符和圆括号按一定的规则组成表达式。表达式通过运算后产生运算结果,返回结果对象。运算结果对象的类型由操作数和运算符共同决定。运算符表明对操作数进行什么样的运算。运算符包括十、一、、/等。操作数包括文本常量(没有名称的常数值,例如1、“abc”)、变量(例如i= 123)、类的成员变量/函数(例如math. pi.math..._python一个表达式中出现多种运算符时,按照小括号运算符、逻辑型、测试性、关

.NET Core C#系列之AKStream.NET摄像头国标GB28181语音对讲之广播请求(信令服务-->摄像头)...-程序员宅基地

文章浏览阅读562次。内容比较多,先一步步的讲吧。发送语音对讲之前,先发用对讲的信令。广播请求(信令服务-->摄像头)至于抓包分析,网上分享的很多了。其实都是发送Broadcast 广播通知,然后摄像头是广播通知应答,然后进行sdp 就行协议交换,可以简单理解成端口交换,其实就是音频流要推动到哪个端口,协商完毕,可以发送音频流。音频流发送结束,发送拜拜信令。整个流程就是如此,这里以https://github...._c#国标gb28181

嵌入式SQL语言-程序员宅基地

文章浏览阅读3.6k次。嵌入式SQL语言一、概述二、变量声明与数据库连接1、变量的声明与使用(1) 数据库与DBMS连接(2) 与数据库断开连接(3) SQL执行的提交与撤消(4) 事务的概念与特性三、数据集与游标1、**检索单行结果**2、检索多行结果3、游标(Cursor)的使用四、可滚动游标及数据库的增删改1、可滚动游标的概念、定义和使用2、数据的删除与更新3、数据库记录的更新4、数据库记录的插入5、示例:宿主语言与SQL结合的过程性控制五、状态捕获及错误处理机制一、概述高级语言+SQL语言既继承高级语言的过程控制性又_嵌入式sql

随便推点

html表格数据按自定义公式自动计算,Word表格中进行数据自动计算教程-程序员宅基地

文章浏览阅读2.6k次。方法一:直接输入域代码将插入点置于要存放结果的单元格中,按CTRL+F9插入域标识“{}”(注意:不能直接用键盘输入),在里面输入由“=”、函数、数值和单元格名称所组成的公式,然后在其上单击右键,选择“切换域代码”即可显示公式所计算的结果。方法二:“插入”→“域…”→“公式…”可以通过“插入”→“域…”,保持默认的域名选项,单击右侧的“公式…”按钮,同样也会出现“公式”对话框。方法三:利用“表格”..._html input 表格怎么设置计算公式

基于MPC的分布式驱动电动汽车变道轨迹跟踪控制及转矩分配的仿真效果分析-程序员宅基地

文章浏览阅读124次。通过联合使用Carsim和Matlab,我们能够精确地建立车辆模型,并实现有效的轨迹跟踪控制。在仿真过程中,我们设置了不同的环境条件和车辆参数,并评估了该方法在各种情况下的性能表现。通过这种分布式控制模型,我们能够实现多辆电动汽车之间的协同变道,以及良好的轨迹跟踪性能。MPC算法能够根据车辆的动态模型,预测未来一段时间内的车辆状态,并计算出最优的控制输入。在变道轨迹跟踪控制中,我们通过优化转向角、转矩分配等参数,使得车辆能够顺利变道,并且轨迹跟踪误差最小化。

Ubuntu18.04编译配置SGX-SSL(SGX支持的openssl函数库)_intel sgx ssl-程序员宅基地

文章浏览阅读1.2k次。预备PerlToolchain(正常这一步应该在编译SGX SDK和PSW准备阶段就完成了的,容易忽略,搭建SGX开发环境的时候最好别跳过)$ sudo cp external/toolset/{current_distr}/{as,ld,ld.gold,objdump} /usr/local/bin$ which as ld ld.gold objdumpIntel SGX driver、SDK和PSW准备好OpenSSL源码压缩包openssl-${version}.tar.gz。截_intel sgx ssl

vue跨域 使用 http-proxy-middleware 代理解决(项目使用vue-cli3.0搭建)_vue http-proxy-middleware-程序员宅基地

文章浏览阅读3.9k次。vue跨域 使用 http-proxy-middleware 代理解决(项目使用vue-cli3.0搭建)最近在模仿用Vue来搭建一个音乐播放器,用的是最新Vue.cli3来进行搭建的,要从QQ音乐来获取数据,那在之前的方法是用node的express框架起了一个服务设置了跨域,这种方法适用于vue2.x,那么在vux.3.0中呢,项目结构的目录是这样滴所以呢,不能像在vue2.0里面有个b..._vue http-proxy-middleware

linux中普通用户修改密码出现(passwd:Authentication token manipulation error)-程序员宅基地

文章浏览阅读2.8k次。如果在linux中,不管是root用户还是普通用户登录后,修改自己的密码,出现---passwd:Authentication token manipulation error---错误的解决办法:root自己修改密码失败普通用户修改密码失败1.报这样的错误是:密码:身份验证令牌操作错误,一般是密码文件的权限的问题,不过也有可能是根目录空间满用lsattr命令..._linux 为什么普通用户无法使用passwd修改密码。

Halcon dyn_threshold详解_halcon dyn_threshold-程序员宅基地

文章浏览阅读7.8k次,点赞11次,收藏30次。dyn_threshold原型dyn_threshold(OrigImage, ThresholdImage : RegionDynThresh : Offset, LightDark : )功能利用局部阈值分割图像参数列表OrigImage (input_object):原始图像ThresholdImage (input_object):处理后图像(一般采用滤波处理)RegionDynThresh (output_object):分割后区域Offset (input_control):灰_halcon dyn_threshold

推荐文章

热门文章

相关标签