前两天要调用第三方的接口遇到了安全证书的问题,找了各种方法下面贴一下自己汇总的解决办法:

第一个写法(这个写法是最简单的,亲测有效,但是这个写法用到了jdk1.8的lambda表达式,1.8之前的版本就不支持):

private static CloseableHttpClient httpClient;//jdk1.8用此代码 static {try {SSLContext sslContext = SSLContextBuilder.create().useProtocol(SSLConnectionSocketFactory.SSL).loadTrustMaterial((x, y) -> true).build();RequestConfig config = RequestConfig.custom().setConnectTimeout(5000).setSocketTimeout(5000).build();httpClient = HttpClientBuilder.create().setDefaultRequestConfig(config).setSSLContext(sslContext).setSSLHostnameVerifier((x, y) -> true).build();} catch (Exception e) {e.printStackTrace();}}

然后直接调用httpClient就行了

第二个方法(我用的版本就是1.7的 所以用了这个办法):

private static CloseableHttpClient httpClient;
static {try {HostnameVerifier hv = new HostnameVerifier() {@Overridepublic boolean verify(String hostname, SSLSession session) {return true;}};javax.net.ssl.TrustManager[] trustAllCerts = new javax.net.ssl.TrustManager[1];javax.net.ssl.TrustManager tm = new miTM();trustAllCerts[0] = tm;javax.net.ssl.SSLContext sc = javax.net.ssl.SSLContext.getInstance("SSL");sc.init(null, trustAllCerts, null);javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());RequestConfig config = RequestConfig.custom().setConnectTimeout(5000).setSocketTimeout(5000).build();httpClient = HttpClientBuilder.create().setDefaultRequestConfig(config).setSSLContext(sc).setSSLHostnameVerifier(hv).build();} catch (Exception e) {e.printStackTrace();}}static class miTM implements javax.net.ssl.TrustManager,javax.net.ssl.X509TrustManager {public java.security.cert.X509Certificate[] getAcceptedIssuers() {return null;}public boolean isServerTrusted(java.security.cert.X509Certificate[] certs) {return true;}public boolean isClientTrusted(java.security.cert.X509Certificate[] certs) {return true;}public void checkServerTrusted(java.security.cert.X509Certificate[] certs, String authType)throws java.security.cert.CertificateException {return;}public void checkClientTrusted(java.security.cert.X509Certificate[] certs, String authType)throws java.security.cert.CertificateException {return;}}

也是直接调用httpClient就行了,亲测有效。

设置https请求忽略安全证书相关推荐

  1. springboot 使用restTemplate 发送https请求 忽略ssl证书

    最近在写接口的时候给对方回推数据,发送https请求的时候遇到这么个报错:javax.net.ssl.SSLHandshakeException: sun.security.validator.Val ...

  2. python怎么爬虫https的内容_爬虫15 python 如何处理HTTPS请求访问 SSL证书验证

    1 https和SSL之间是什么关系 https和SSL之间是什么关系:https就是在http上面加了一层ssl协议,在http站点上部署SSL数字证书就变成了https. 现在随处可见 https ...

  3. iOS手机客户端https请求忽略证书认证

    //设置证书,在客户端默认忽略证书认证 - (BOOL)connection:(NSURLConnection *)connection canAuthenticateAgainstProtectio ...

  4. c# https请求忽略证书验证_c# https绕过证书

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  5. c# https请求忽略证书验证_C# httpwebrequest访问HTTPS错误处理方法

    C# httpwebrequest访问HTTPS链接时遇到这个错误,但是如果我开抓包工具,比如filddler2,则POST返回正常 错误提示的Message为: 基础连接已经关闭: 发送时发生错误. ...

  6. 【教程】小米手机Android 7.0+抓取HTTPS请求安装Charles证书主要流程

    以下教程可能耗费你数小时时间,请注意时间. 目标:抓取HTTPS的包 如果你的手机是在Android 7.0+及其以上,想要抓取HTTPS的请求,必须要将证书(*.pem)用系统用户的权限安装,即把这 ...

  7. java证书验证失败_Java 跳过 HTTPS 请求过程中证书验证问题

    受益于谷歌和苹果对 HTTPS 的强制升级要求,服务已经全面升级了,安全性提高的同时也引起了新的问题. 由于 HTTPS 证书还是很贵的,所以各种测试环境上各种非法证书,通过浏览器访问的时候可以直接选 ...

  8. 宝塔面板设置HTTPS+阿里云SSL证书

    1. 宝塔面板 指定某一域名 设置 宝塔SSL为宝塔官方提供的免费证书服务, 只需要在宝塔官网宝塔注册后实名认证, 申请证书然后按照指定的验证方式去验证域名, 完成之后就是等待审核 2. 阿里云SSL ...

  9. soapui 证书_SoapUI入门之附件上传和配置Https请求

    已经欠了一堆的作业了,吼吼~ 拖延症是个大bug,废话不多说,马上进入咱们SoapUI的学习中来吧~ 现在开始我们的SoapUI集成测试学习之道: 一.如何使用SoapUI进行附件上传 做人还是不能这 ...

最新文章

  1. iOS开发之--打印一堆奇怪东西的解决方案
  2. 《深入理解ES6》笔记——Set集合与Map集合(7)
  3. 【转】React 16 中从 setState 返回 null 的妙用
  4. mysql判断数字的函数_Mysql必读MySql判断汉字、日期、数字的具体函数
  5. mupdf java_mupdf库学习
  6. 有两个python怎么停用其中一_python3.X 复学(2)-----开始了就不要停止
  7. 【POJ】3255 Roadblocks(次短路+spfa)
  8. MySQL:MySQL InnoDB引擎
  9. 巴士电台开放接口API
  10. scala yield入门详解
  11. oracle 存储过程 转换为mysql存储过程 实例总结 (数据库有感篇一)
  12. 移动边缘计算环境下边缘服务器放置方法研究
  13. c语言浮点数输出格式的控制,c语言输出格式控制
  14. STM8L_库函数-模板搭建
  15. 用DIV+CSS技术设计的网上书城网页与实现制作(大一Web课程设计)
  16. 计算机蓝屏代码0x0000007b,解决电脑蓝屏出现代码0x0000007b怎么解决
  17. Leetcode刷题——题目8、9、10
  18. 支付宝人脸识别身份证认证(新版SDK)
  19. 移动IM产品发展史及趋势预测
  20. 形式与政策部分开卷题目及答案

热门文章

  1. 安卓平板隐藏虚拟按键_如何隐藏 Android 下方的三个虚拟按键
  2. Qualtrics初体验——10年不融资,价值80亿美金
  3. 爱情没有了,生活仍在继续
  4. Kylin RT OLAP reassign流程即重新分配replica_set 流程
  5. canvas教程7-炫彩小球
  6. 盛迈坤电商:拼多多推广数据多久会显示
  7. search函数和search_n()函数
  8. JAVA匹配所有英文_java匹配汉字、英文、数字
  9. NGFW module恢复密码操作方法
  10. eNSP 路由远程登录