HttpClient https认证

httpClient忽略https的证书认证 接口地址及参数:https://xxx.xxx.com/api/v3/technicians?input_data={“list_info”:{“search_fields”:{“email_id”:“wjjia@iflytek.com”}}}HttpClient工具类范例。 阅读详情
logger.info("正在初始化HttpClient");
        // 自定义解析,选择默认解析
        HttpMessageParserFactory<HttpResponse> responseParserFactory = new DefaultHttpResponseParserFactory();
        HttpMessageWriterFactory<HttpRequest> requestWriterFactory = new DefaultHttpRequestWriterFactory();

        // 利用ParserFactory创建连接工厂
        HttpConnectionFactory<HttpRoute, ManagedHttpClientConnection> connFactory = new ManagedHttpClientConnectionFactory(
                requestWriterFactory, responseParserFactory);

        // SSL配置,获取默认SSL
        SSLContext sslcontext = SSLContexts.createSystemDefault();

        // 注册协议
        Registry<ConnectionSocketFactory> socketFactoryRegistry = RegistryBuilder.<ConnectionSocketFactory> create()
                .register("http", PlainConnectionSocketFactory.INSTANCE)
                .register("https", new SSLConnectionSocketFactory(sslcontext)).build();

        // 自定义DNS
        DnsResolver dnsResolver = new SystemDefaultDnsResolver() {

            @Override
            public InetAddress[] resolve(final String host) throws UnknownHostException {
                if (host.equalsIgnoreCase("myhost") || host.equalsIgnoreCase("localhost")) {
                    return new InetAddress[] { InetAddress.getByAddress(new byte[] { 127, 0, 0, 1 }) };
                } else {
                    return super.resolve(host);
                }
            }

        };

        // 连接池管理
        PoolingHttpClientConnectionManager connManager = new PoolingHttpClientConnectionManager(socketFactoryRegistry,
                connFactory, dnsResolver);

        // socket配置,不延迟发送
        SocketConfig socketConfig = SocketConfig.custom().setTcpNoDelay(true).build();
        // 将socket配置设置为连接池默认配置
        connManager.setDefaultSocketConfig(socketConfig);
        // 暂停活动1S后验证连接
        connManager.setValidateAfterInactivity(1000);

        // 消息容器,初始化消息容器以及消息容器的配置
        MessageConstraints messageConstraints = MessageConstraints.custom().setMaxHeaderCount(200)
                .setMaxLineLength(2000).build();
        Charset charset = null;
        charset = Charset.forName("UTF8");

        logger.info("ConnectionConfig-charset为:" + charset);

        // Create connection configuration
        ConnectionConfig connectionConfig = ConnectionConfig.custom().setMalformedInputAction(CodingErrorAction.IGNORE)
                .setUnmappableInputAction(CodingErrorAction.IGNORE).setCharset(charset)
                .setMessageConstraints(messageConstraints).build();
        // Configure the connection manager to use connection configuration
        // either
        // by default or for a specific host.
        connManager.setDefaultConnectionConfig(connectionConfig);

        // Configure total max or per route limits for persistent connections
        // that can be kept in the pool or leased by the connection manager.
        connManager.setMaxTotal(100);
        connManager.setDefaultMaxPerRoute(10);

        // Use custom cookie store if necessary.
        cookieStore = new BasicCookieStore();
        // Create global request configuration
        RequestConfig defaultRequestConfig = RequestConfig.custom().setCookieSpec(CookieSpecs.DEFAULT)
                .setExpectContinueEnabled(true)
                .setTargetPreferredAuthSchemes(Arrays.asList(AuthSchemes.NTLM, AuthSchemes.DIGEST))
                .setProxyPreferredAuthSchemes(Arrays.asList(AuthSchemes.BASIC)).build();

        // Create an HttpClient with the given custom dependencies and
        // configuration.
        httpclient = HttpClients.custom().setConnectionManager(connManager).setDefaultCookieStore(cookieStore)
                .setDefaultRequestConfig(defaultRequestConfig).build();
        logger.info("HttpClient初始化完毕");
关于使用HttpClient进行访问https安全链接,双向认证核心部分讲解         在开文之前,首先了解几个问题 HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系),句法类同http:体系。... 阅读详情

相关推荐

java 通过Httpclient模拟https Post 请求,实现双向认证

package com.sumy.https;import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.net.SocketTimeoutException; import java.security.KeyManagementException; import java.

vincentwistron的专栏 1万+

HttpClient接口测试

前言 最近项目正在筹备上线,发现 HttpClient 中的很多类和方法都已经过时了,虽然并不影响功能的实现,但是看着确实让人捉急,所以,索性抽了点时间把它给改了。今天就来分享一下。。。 之前的代码 先看看之前的代码吧:以下是之前的过时代码(部分,完整代码在文章末会贴出git地址) private static void sslClient(HttpClient httpClient) { ...

wld的博客 1394

通过HttpClient以post方式发送https/http请求,请求及返回参数格式为json和xml两种方式,解决https加ip直接访问的ssl签名认证问题

最近项目中需要向外部服务发送https请求,但是外部服务测试环境提供的访问地址为https加ip、端口的访问方式,由于SSL签名认证问题(网上搜索大多说是因为https后面设计为跟域名绑定访问),无法访问,后来尝试网上各大神的解决方案,完美解决该问题。将代码保存下来,以备不时之需。 import org.apache.http.HttpEntity; import org...

海紫苑打不死马小跳的博客 2236

Proxy Authentication Required解决

症状 如果 Internet Security and Acceleration (ISA) Server 2000 是链接到上游 Web 代理服务器, Web 浏览器中可能会收到完整 HTML 页和随机身份验证提示。 如果下游 ISAServer 计算机配置需要集成验证并且如果上游 Web 代理服务器也配置需要代理验证可能会发生这些症状。 此外, 下游 ISAServer 计算机上路

shuwu 1万+

DDR5内存ODT模式全解析:5种状态与实战配置指南(附时序图)

本文深入解析DDR5内存的片上终端电阻(ODT)机制,详细阐述了其五种核心状态(终结电阻禁用、RTT_WR、RTT_NOM_RD、RTT_NOM_WR、RTT_PARK)的定义、切换时序与工作原理。通过解读JESD79-5规范中的时序图,并提供基于模式寄存器的实战配置指南与代码示例,帮助硬件工程师和系统开发者优化信号完整性,解决高负载下的稳定性问题,并实现性能与功耗的最佳平衡。

weixin_29221753的博客 562

VTK四视图联动避坑指南:解决vtkImagePlaneWidget窗宽窗位同步与切片序号更新的那些坑

本文详细解析了VTK四视图联动开发中的关键技术点与常见问题,包括切片位置同步、窗宽窗位同步的实现原理及回调机制设计。针对开发中遇到的回调事件不触发、渲染性能低下等问题,提供了实用的解决方案和优化技巧,帮助开发者高效构建医学影像和科学可视化应用。

weixin_42638178的博客 390

从RequestConfig源码学Bulider设计模型

读代码,发现有这样一个写法 //设置请求的超时时间 RequestConfig rconfig = RequestConfig.custom().setConnectTimeout((int)waitTime).setSocketTimeout((int)waitTime).build(); 之前在看lombok的时候,学到了链式调用。但是Builder模式只听过,并不知道啥意思,正好梳理一下。 Builder模式解决的问题: 在以前写代码的时候,对于实体类都是写构造方法,并提供get、set方

刘墨泽 594

海康VisionMaster与西门子Smart 200进行S7通信

海康VisionMaster与西门子Smart 200进行S7通信

haier123888的博客 8177

httpclient4.3.3详解一:RequestConfig类解析

这个类位于org.apache.http.client.config包下,主要用于获取和配置一些外部的网络环境,它下面有一个嵌套类RequestConfig.Builder,顾名思义,它肯定是用来配置网络环境的(姑且叫它“配置器”吧)。其使用方法是:先用RequestConfig类的静态方法custom()获取equestConfig.Builder“配置器”,然后再用其下各种方法配置网络环境;或

xiaozhu0301的博客 3万+

【WRF湿度调整策略】WRF/ERA5湿度数据对比

【WRF湿度调整策略】WRF/ERA5湿度数据对比

WW、forever的博客 117

LoRa学习:LoRa通信调制解调的实现原理与性能

LoRa学习:LoRa调制解调原理与性能 1、LoRa调制解调器原理 LoRa调制解调器采用专利扩频调制和前向纠错技术。与传统的FSK、OOK调制技术相比,LoRa扩大了无线通讯链路的覆盖范围(实现了远距离无线传输),提高了链路的鲁棒性。。 开发人员可调整扩频因子和纠错率这两个参数,从而平衡通讯时的带宽占用、通信速率、空中包的存活时间、以及抗干扰性等。。 LoRa调制解调器...

HowieXue 薛永浩的博客 3万+

Java 工具类 —— HttpClient从官网示例到工具类开发

HttpClient从官网示例到工具类开发

u011909918的博客 812

【开发必备插件】iframe嵌套报“拒绝连接请求”的本地解决方法

关键词:iframe 拒绝连接、X-Frame-Options、Chrome 插件、前端调试、Allow X-Frame-Options前几天我在本地项目里调试一个第三方网站的嵌入页面时,遇到了一个非常经典的报错:xxx.com 拒绝了我们的连接请求。熟悉的老前端们一眼就知道——这是。但对于日常开发来说,我们经常需要在本地测试 iframe 嵌套外部页面(比如嵌第三方登录页、支付页、可视化报表系统等)。而线上站点配置了或DENY时,就会直接导致 iframe 加载失败。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1539

Httpclient绕过https安全认证

Httpclient绕过https安全认证。

Mamba777 1663

微信小程序|基于小程序+云开发制作一个租房小程序

经济发展的同时伴随着大批人群的流动,租房需求一直是持久不衰的话题,如何租好房,好租房,跟随此文一起制作一个租房小程序,让租房不再困难。

商务合作 / 项目定制 / 学习交流。个人vx:lovely_wml 4928

基于MATLAB的PDT DMR物理层仿真

PDT DMR物理层仿真的目标是评估系统的误码率(Bit Error Rate,BER),以及验证和优化各种调制方案、编码方案和信道模型。下面将介绍如何进行PDT DMR物理层的仿真,并提供相应的MATLAB源代码。通过上述步骤,我们可以进行基于MATLAB的PDT DMR物理层仿真,并评估系统的性能。根据实际需求,我们可以修改仿真参数和添加更复杂的信道模型,以更全面地评估系统性能。最后,我们可以将仿真结果进行可视化和分析。首先,我们需要设置仿真的参数,包括调制方案、编码方案、信道模型和信噪比等。

TechPulseZ的博客 457

httpclient java cer_使用HttpClient4.5实现HTTPS的双向认证

1 packagecom.test.sendhttps;23 importjava.io.File;4 importjava.io.FileInputStream;5 importjava.io.FileNotFoundException;6 importjava.io.IOException;7 importjava.security.KeyMan...

weixin_42114041的博客 335

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

使用HttpClient4.5实现HTTPS的双向认证

 说明:本文主要是在平时接口对接开发中遇到的为保证传输安全的情况特要求使用https进行交互的情况下,使用httpClient4.5版本对HTTPS的双向验证的  功能的实现     首先,老生常谈,文章将按照哲学三部曲来解答什么是https,为什么要使用https,httpClient怎么实现https及双向验证。     问题1:什么是https?     https:安全的超文本传输协议;其...

qq_29427355的博客 2597

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

java http 双向认证_apache httpclient-4.5 https通讯 双向认证

maven dependenceorg.apache.httpcomponentshttpclient4.5.22. 测试类packagecom.iraid.test;importjava.io.BufferedReader;importjava.io.File;importjava.io.FileInputStream;importjava.io.IOException;import...

weixin_42117267的博客 616

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

httpClient发送https请求报错认证失败确少SSL证书的问题

1NG做跳转处理,先将https请求改为向ng发送http请求,ng做跳板发送https请求。服务端配置跳过ssl认证。

qq_42797527的博客 688

【httpClient忽略https的证书认证】

有四种实现方式(指定SSL/TLS协议版本、指定加密算法和密码套件、自定义信任管理器、自定义主机名验证器),其中通过SSLConnectionSocketFactory指定自定义的主机名验证器(HostnameVerifier),以控制主机名验证的行为。主机名验证器用于验证SSL证书中的主机名与服务器实际的主机名是否匹配。NoopHostnameVerifier是一个空实现的主机名验证器,它绕过了主机名验证,即使主机名不匹配,也会继续进行SSL连接。有的时候为了方便调用,我们会绕过SSL认证。

weixin_45433218的博客 3838

HttpClient请求https认证问题

服务端在使用HttpClient调用https服务时,会抛出PKIX path building failed异常,该异常为认证证书的问题,有两种解决方法: ###1.设置默认信任 直接上代码: //** * enableSSL:https认证 * @param httpcli...

chugang1854的博客 623

apache httpclient-4.5 https通讯 双向认证

maven dependence <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.2</version> ...

weixin_34130389的博客 270

HttpClient跳过https证书认证

起因是因为报了一个错 javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid c...

我秃了,也变强了。 6669

httpclient java cer_httpclient发送https并通过证书认证

一、服务端不强制使用证书认证可以使用httpclient提供的方法,绕过证书认证private final RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(TIMEOUT).setConnectTimeout(TIMEOUT).build();private synchronized CloseableHt...

weixin_34966374的博客 1693
上一篇: 关于AWK
lestchun
博客等级 码龄16年 1粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值