使用OKHTTP调用HTTPS接口时,报错/异常信息:

Hostname * not verified:
certificate: sha256/F0yVXJ/nbG7JtrM+11NhtuKkepfbtzvXufVCUQ5Gxm4=
DN: CN=*.xxx.com, O=*有限公司, L=北京市, ST=北京市, C=CN
subjectAltNames: [*.xxx.com, xxx.com]

处理方式如下:

 /*** 发送POST请求,调用HTTP接口* @param url 接口地址* @param params 接口参数(JSon格式)* @return JSon* */public static String post(String url, String params) throws Exception {String json = null;if(params == null) params = "";TrustManagerFactory trustManagerFactory = null;trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());trustManagerFactory.init((KeyStore) null);TrustManager[] trustManagers = trustManagerFactory.getTrustManagers();if (trustManagers.length != 1 || !(trustManagers[0] instanceof X509TrustManager)) {throw new IllegalStateException("Unexpected default trust managers:" + Arrays.toString(trustManagers));}X509TrustManager trustManager = (X509TrustManager) trustManagers[0];SSLContext sslContext = SSLContext.getInstance("TLS");sslContext.init(null, new TrustManager[]{trustManager}, null);OkHttpClient client = new OkHttpClient().newBuilder().connectTimeout(15, TimeUnit.SECONDS).readTimeout(70, TimeUnit.SECONDS).sslSocketFactory(create(), trustManager).hostnameVerifier(trusts()).build();MediaType mediaType = MediaType.parse("application/json");RequestBody body = RequestBody.create(mediaType, params);Request.Builder builder = new Request.Builder();builder.url(url); //接口地址builder.method("POST", body);builder.addHeader("Content-Type", "application/json");Request request = builder.build();Response response = client.newCall(request).execute();ResponseBody responseBody = response.body();if (response.isSuccessful() && responseBody != null) {json = responseBody.string();} else {if(responseBody != null) json = responseBody.string();}return json;}/*** 处理SSL协议(添加信任域名)*/private static HostnameVerifier trusts() {return new HostnameVerifier() {@Overridepublic boolean verify(String hostname, SSLSession session) {            HostnameVerifier verifier = HttpsURLConnection.getDefaultHostnameVerifier();return verifier.verify("*.xxx.com", session);}};}/*** 创建SSLSocketFactory* @return SSLSocketFactory*/private static SSLSocketFactory create() {SSLSocketFactory sslFactory = null;try {SSLContext ctx = SSLContext.getInstance("TLS");ctx.init(null, new TrustManager[]{new Verifier()}, new SecureRandom());sslFactory = ctx.getSocketFactory();} catch (Exception e) {e.printStackTrace();}return sslFactory;}

Hostname * not verified:certificate,HTTPS接口调用处理相关推荐

  1. http/https接口调用

    java调用http/https接口,使用httpclient! 引入jar:commons-httpclient-3.1.0.jar </pre>baseclient,需要调用接口的继承 ...

  2. java实现HTTPS接口调用

    话不多说,直接上代码! /*** 安全证书管理*/class MyX509TrustManager implements X509TrustManager{@Overridepublic void c ...

  3. 云极知客开放平台接口调用方法(C#)

    云极知客为企业提供基于SAAS的智能问答服务.支持企业个性化知识库的快速导入,借助语义模型的理解和分析,使企业客户立即就拥有本行业的24小时客服小专家.其SAAS模式实现零成本投入下的实时客服数据的可 ...

  4. Python调用使用自颁发证书的https接口

    使用keytools或者openssl生成p12格式的KeyStore(包含SSL证书),并使用该证书和SpringBoot搭建了服务端的https接口,搭建过程参考HTTPS相关知识点介绍 接下来介 ...

  5. Java 调用Http和Https接口

    Java调用Http接口和Https接口 大多数我们调用的接口都是Http的,很少有Https的接口,近期做了个项目就用到和Https接口的请求调用,和大家分享一下心得.Http接口和Https接口主 ...

  6. Spring Boot项目中使用RestTemplate调用https接口出现 unable to find valid certification path to requested target

    问题描述:Spring Boot项目中使用RestTemplate调用https接口出现以下错误: PKIX path building failed: sun.security.provider.c ...

  7. 淘宝,tmall,1688,抖音,拼多多等平台商品详情接口(网络爬虫数据接口调用示例)接口对接教程

    淘宝,tmall,1688,抖音,拼多多等平台商品详情接口(网络爬虫数据接口调用示例)接口对接教程如下: 1.公共参数 名称 类型 必须 描述(接口代码教程wx19970108018) key Str ...

  8. 异步系统接口调用流程图

    2019独角兽企业重金招聘Python工程师标准>>> 异步系统接口调用流程图 博客分类: java ................................... 转载于: ...

  9. 微服务实战之春云与刀客(三)—— 面向接口调用代码结构实例

    2019独角兽企业重金招聘Python工程师标准>>> 概述 在上一篇中提到了spring cloud 面向接口调用的开发风格,这一篇会举一个简单的但完整的例子来说明整个代码结构. ...

最新文章

  1. 遇到的浏览器兼容问题及应对方法
  2. poj2955Brackets(区间DP)
  3. 几款好用超赞的Google Chrome插件
  4. Map map = request.getParameterMap(); BeanUtils.populate(bean, map);对前端表单的迅速封装与判断
  5. socket,TCP/IP的理解(转)
  6. mysql5.7.17的linux安装,linux下mysql5.7.17最新稳定版本安装教程
  7. php 多线程处理redis,redis的多线程
  8. 常见食物营养成分表图_营养成分表,你会看么?
  9. 什么是 XDoclet?
  10. 联发科(MediaTek)Pentonic 电视芯片将率先支持杜比视界 IQ 精准细节功能
  11. java plus方法_Java MyBatis-Plus 基本使用
  12. 传智黑马python18期_传智博客黑马Python就业14期资料
  13. java抓取豆瓣网页内容_爬虫实践--豆瓣电影当前上映电影信息爬取
  14. QProgressDialog setValue过快导致死机问题记录
  15. Gateway一直访问本地
  16. mywallet android app,记账软件MyWallet
  17. 2017.2.16 开涛shiro教程-第十七章-OAuth2集成(一)服务器端
  18. 理解signal函数
  19. afterlogic 7.0.1 php,免费webmail 7.0.1(after logic 最后一个免费版本)
  20. 二级java pdf_全国计算机等级考试二级Java语言程序设计.PDF

热门文章

  1. 读书笔记-精准努力-专注坚持成为人生赢家
  2. 深入了解现代网络浏览器(第 1 部分)
  3. redis设置key的TTL
  4. python图像去污_百度AI攻略:图像去雾
  5. Learning Deep Ship Detector in SAR Images From Scratch
  6. Android APP性能监测工具
  7. 直通车的计算机质量分经验,「超级干货」直通车质量分的全面解析——上篇
  8. 从1.5K到18K,一个程序员的5年成长之路
  9. 坚持#第301天~问题释放、释怀经验
  10. 人人都是艺术家!谈谈那些奇怪的字符