当前位置: 首页 > news >正文

网站建设4038gzs广西建设人力资源网

网站建设4038gzs,广西建设人力资源网,大学生创新创业大赛策划书,昭通公司做网站1. 踩坑经历 最近做了个需求#xff0c;需要调用第三方接口获取数据#xff0c;在联调时一直失败#xff0c;代码抛出javax.net.ssl.SSLHandshakeException异常#xff0c; 具体错误信息如下所示#xff1a; javax.net.ssl.SSLHandshakeException: sun.security.validat…1. 踩坑经历 最近做了个需求需要调用第三方接口获取数据在联调时一直失败代码抛出javax.net.ssl.SSLHandshakeException异常 具体错误信息如下所示 javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 2.原因分析 因为调用第三方接口的代码是复用项目中原有的工具类基于httpclient封装所以在确认完传参没问题后第一时间排除了编码问题。 然后开始怀疑第三方提供的接口地址因为竟然是IP端口访问在和第三方确认没有域名访问后在浏览器里输入第三方的接口地址发现证书有问题 又使用Postman调用第三方接口也是失败提示自签名证书 通过以上分析可以发现出现该问题的根本原因是Java客户端不信任目标服务器的SSL证书比如这个第三方使用的自签名证书。 3.解决方案 解决方案一般有2种第1种方案是将服务器证书导入Java信任库第2种方案是绕过SSL验证这里采用第2种方案。 首先新建HttpClient工具类 import org.apache.http.conn.ssl.NoopHostnameVerifier; import org.apache.http.conn.ssl.SSLConnectionSocketFactory; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients;import javax.net.ssl.SSLContext; import javax.net.ssl.TrustManager; import javax.net.ssl.X509TrustManager; import java.security.KeyManagementException; import java.security.NoSuchAlgorithmException; import java.security.cert.X509Certificate;public class HttpClientUtils {public static CloseableHttpClient createIgnoreCertClient() throws NoSuchAlgorithmException, KeyManagementException {SSLContext sslContext SSLContext.getInstance(SSL);sslContext.init(null, new TrustManager[]{new X509TrustManager() {Overridepublic X509Certificate[] getAcceptedIssuers() {return null;}Overridepublic void checkClientTrusted(X509Certificate[] certs, String authType) {}Overridepublic void checkServerTrusted(X509Certificate[] certs, String authType) {}}}, new java.security.SecureRandom());SSLConnectionSocketFactory sslConnectionSocketFactory new SSLConnectionSocketFactory(sslContext, NoopHostnameVerifier.INSTANCE);return HttpClients.custom().setSSLSocketFactory(sslConnectionSocketFactory).build();} }然后将原来声明httpClient的代码改为如下所示 CloseableHttpClient httpClient HttpClientUtils.createIgnoreCertClient();注意事项 确保项目中引入了httpclient依赖 dependencygroupIdorg.apache.httpcomponents/groupIdartifactIdhttpclient/artifactIdversion4.5.13/version /dependency
http://www.zqtcl.cn/news/668709/

相关文章:

  • 设计网站用什么软件盈江城乡建设局网站
  • 网站建设模式有哪些内容seo品牌
  • 衡水做网站服务商济南如何挑选网站建设公司
  • 全屏的网站制作企业网站欢迎界面素材
  • 视频网站切片怎么做网站建设可自学吗
  • 本地推广平台网站seo优化如何做
  • 网站建设费算费用还是固定资产百度秒收录
  • 企业建站系统营销吧tt团队韩国企业网站设计
  • 上海嘉定网站建设公司有没有知道网址的
  • 电商网站的银行支付接入该怎么做杭州微信小程序外包
  • 余姚网站推广策划案门户网站做等保需要备案哪些
  • 网站关键字优化公司wordpress制作百度地图xml
  • 网站建设进度总结网站文件权限设置
  • 织梦网站如何做地区分站厦门网站代理
  • 模板做网站优缺点网络营销推广公司获客
  • 如何做网站充值用flash做网站超链接
  • 网站图片管理系统临沂百度推广多少钱
  • 渭南建设用地规划查询网站教育局两学一做网站
  • 无锡专业网站制作的公司长春seo技术
  • 东莞做网站哪家最好电商网站支付接口
  • 西安火车站网站建设深圳做百度网站
  • asp网站助手金融学类就业方向及就业前景
  • 用点心做点心官方网站现在手机网站用什么做的好
  • 唐山市路桥建设有限公司网站专门写文章的网站
  • 东莞食品网站建设湖南企业竞价优化
  • 吉林网站建设找哪家湛江大型网站模板建设
  • 中国建设监理业协会网站国产cms
  • 计算机网站建设与维护wordpress 500错误
  • 元器件网站开发客户wordpress伪静态301错误
  • 网站设计排行怎么样用ppt做网站