首页 > 编程语言 >Java 使用发送请求报错

Java 使用发送请求报错

时间:2022-10-27 15:57:38浏览次数:45  
标签:Java 发送 报错 X509Certificate new return public HttpClient

问题

  发送post请求报错

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

  

原因

  SSL证书的问题

解决办法

  绕过SSL证书认证即可。

1、HttpClient绕过方法

public HttpClient skipHttpsCertificate() {
        try {
            SSLContext ctx = SSLContext.getInstance("TLS");
            X509TrustManager tm = new X509TrustManager() {
                public X509Certificate[] getAcceptedIssuers() {
                    return null;
                }

                public void checkClientTrusted(X509Certificate[] arg0,
                                               String arg1) throws CertificateException {
                }

                public void checkServerTrusted(X509Certificate[] arg0,
                                               String arg1) throws CertificateException {
                }
            };
            ctx.init(null, new TrustManager[] { tm }, null);
            SSLConnectionSocketFactory ssf = new SSLConnectionSocketFactory(
                    ctx, NoopHostnameVerifier.INSTANCE);
            CloseableHttpClient httpclient = HttpClients.custom()
                    .setSSLSocketFactory(ssf).build();
            return httpclient;
        } catch (Exception e) {
            return HttpClients.createDefault();
        }
    } 

调用方法:

CloseableHttpClient client = (CloseableHttpClient) HikvisionUtil.skipHttpsCertificate();

// 调用生成Client之后其余操作和 HttpClient 请求处理一致

CloseableHttpResponse resp = client.execute(httpPost);

  

其余的请求方式可自行百度

 

标签:Java,发送,报错,X509Certificate,new,return,public,HttpClient
From: https://www.cnblogs.com/lucky-jun/p/16832528.html

相关文章

  • 解决vue报错 Failed to mount component: template or render function not defined.
    今天npmrundev的时候,有个页面报错,提示[Vuewarn]:Failedtomountcomponent:templateorrenderfunctionnotdefined.昨天还好好的,今天就报错了,也没改啥。经过查资......
  • Jenkins java服务更新和回滚
    [root@jenkinsscripts]#catjava_deploy_tag_rollback.sh#!/bin/bashDATE=$(date+%Y-%m-%d-%H-%M-%S)web_server="192.168.220.143192.168.220.144"Sdir=/optDd......
  • 【Java】线程的死锁
    1.死锁不同的线程分别占用对方需要的同步资源不放弃,都在等待对方放弃自己需要的同步资源,就形成了线程的死锁。说明:出现死锁后,不会出现异常,不会出现提示,只是所有的线程......
  • VS Code 配置JAVA环境
    1.首选添加如中文不好可先添加中文语言包,2.添加DebuggerforJava3.添加ExtensionPackForJava4。添加LanguageSupportfor Java至此,简单的学习环境已可以 ......
  • Java8新特性3:Stream流
    回顾之前《JavaSE-23.2》:https://www.cnblogs.com/yppah/p/14900824.htmlhttps://www.cnblogs.com/yppah/p/14900829.htmlhttps://www.cnblogs.com/yppah/p/14900834.ht......
  • Java多线程(4):ThreadLocal
    您好,我是湘王,这是我的51CTO博客,欢迎您来,欢迎您再来~​为了提高CPU的利用率,工程师们创造了多线程。但是线程们说:要有光!(为了减少线程创建(T1启动)和销毁(T3切换)的时间),于是工程师们......
  • 【idea】创建一个java项目
    1、文件-新建-项目-选择java模块选择SDK   2、下一步   3、输入项目名称和项目位置,点击完成  4、打开新建项目     5、在src目录......
  • 使用 WxJava 发布公众号图文
    一个Demo,记录一下发布公众号图文时需要用到的接口公众号开发时需用到的一些网站微信官方文档平台,开发公众号只用查看公众号那一块微信公众平台接口测试帐号申请,申......
  • JAVA---4种内部类
    1.局部内部类java类的五个特性:属性,方法,构造器,代码块,内部类 2.匿名内部类  3.成员内部类    4.静态内部类       小结 ......
  • postman 模拟json发送数据
    https://www.onlinedown.net/article/10021411.htm  在地址栏里输入请求:127.0.0.1:8081/getmoney      选择“POST”方式。      在“headers”添加ke......