websocket token认证(https 不验证证书)

直接上代码publicstaticStringtest(Stringurl,Stringhead,Stringbody)throwsException{//创建okHttpClient实例,忽略https证书验证OkHttpClientclient=newOkHttpClient().newBuilder().sslSocketFactory(getSSLSocketFactory())

大家好,又见面了,我是你们的朋友全栈君。

直接上代码

    public static String test(String url, String head, String body) throws Exception { 
   

        // 创建okHttpClient实例,忽略https证书验证
        OkHttpClient client = new OkHttpClient().newBuilder()
                .sslSocketFactory(getSSLSocketFactory())
                .hostnameVerifier(getHostnameVerifier())
                .build();

        MediaType mediaType = MediaType.parse("text/plain");
        RequestBody requestBody = RequestBody.create(mediaType, body);
        Request request = new Request.Builder()
                .url(url)
                .post(requestBody)
                .addHeader("cache-control", "no-cache")
                .addHeader("reqParamter", head)
                .build();

        Response response = client.newCall(request).execute();

        String result = response.body().string();

        return result;
    }
    /** * description 忽略https证书验证 * * @author yanzy * @version 1.0 * @date 2021/9/8 14:42 */
    public static HostnameVerifier getHostnameVerifier() { 
   
        HostnameVerifier hostnameVerifier = new HostnameVerifier() { 
   
            @Override
            public boolean verify(String s, SSLSession sslSession) { 
   
                return true;
            }
        };
        return hostnameVerifier;
    }
    /** * description 忽略https证书验证 *`在这里插入代码片` * @author yanzy * @version 1.0 * @date 2021/9/8 14:42 */
    public static SSLSocketFactory getSSLSocketFactory() { 
   
        try { 
   
            SSLContext sslContext = SSLContext.getInstance("SSL");
            sslContext.init(null, getTrustManager(), new SecureRandom());
            return sslContext.getSocketFactory();
        } catch (Exception e) { 
   
            throw new RuntimeException(e);
        }
    }
    /** * description 忽略https证书验证 * * @author yanzy * @version 1.0 * @date 2021/9/8 14:42 */
    private static TrustManager[] getTrustManager() { 
   
        TrustManager[] trustAllCerts = new TrustManager[]{ 
   
                new X509TrustManager() { 
   
                    @Override
                    public void checkClientTrusted(X509Certificate[] chain, String authType) { 
   
                    }

                    @Override
                    public void checkServerTrusted(X509Certificate[] chain, String authType) { 
   
                    }

                    @Override
                    public X509Certificate[] getAcceptedIssuers() { 
   
                        return new X509Certificate[]{ 
   };
                    }
                }
        };
        return trustAllCerts;
    }

下一篇是 httpClient 如何忽略https证书验证

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126072.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • PHP Opcache的工作原理[通俗易懂]

    PHP Opcache的工作原理

    2022年2月14日
    31
  • RabbitMQ(七):常用方法说明 与 学习小结

    RabbitMQ(七):常用方法说明 与 学习小结

    2021年10月5日
    35
  • lock.trylock_java中trycatch的用法

    lock.trylock_java中trycatch的用法概述tryLock()方法是有返回值的,它表示用来尝试获取锁,如果获取成功,则返回true,如果获取失败(即锁已被其他线程获取),则返回false,这个方法无论如何都会立即返回。在拿不到锁时不会一直在那等待。代码@Test publicvoidtestTryLock(){ Locklock=newReentrantLock(); newThrea

    2022年10月9日
    0
  • win10安装vmware虚拟机蓝屏_安装完mac虚拟机出现蓝屏

    win10安装vmware虚拟机蓝屏_安装完mac虚拟机出现蓝屏我们在创建虚拟机的时候,选择的是去创建一个默认的虚拟机,然后创建完成直接将系统装在了这个虚拟机中而这,就是这个问题的所在,对于网上下载的sp3_iso系统来讲,是需要一个ida的硬盘,就是要将虚拟机的硬盘模式重新设置一下对当前虚拟机进行设置,将原来的硬盘删除掉,重新添加HardDisk(也就是硬盘的意思)我们选择这个HardDisk选项,点击下一步然后我们出现了这样一…

    2022年8月16日
    5
  • Java的常用开发工具

    Java的常用开发工具Java开发人员的常用工具java常用的开发工具。都说工欲善其事必先利其器,要想学好java这门语言,选择一款好用顺手的开发工具是必不可少的。另外面试java工作时开发工具的使用也是一个重要的考核点。要想全面了解java开发工具,我们首先需要先了解一下java程序的开发过程,通过这个过程我们能够了解到java开发都需要用到那些工具。首先我们先了解完整项目开发过程,如图所示:

    2022年5月11日
    44
  • 帆软报表 数据填报_六大报表

    帆软报表 数据填报_六大报表164.导出excel0kb内存不够或者磁盘空间不足163.UnresolvableOperation:mobileinclassReportDispatcher排除jar包和插件影响的话,可能是LIC里面没有决策平台功能点162.客户嵌入我们的url时出现报错Refusedtodisplay’URL’inaframebecauseitset’X-Fr…

    2022年9月28日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号