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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • docker如何卸载_docker 删除容器

    docker如何卸载_docker 删除容器2.卸载docker相关包输入如下命令查看相关包把匹配到的包执行yumremove删除3.查看docker卸载成功

    2025年10月6日
    4
  • oracle 数据库隔离级别

    oracle 数据库隔离级别[b]事务不同引发的状况:[/b]脏读(Dirtyreads)一个事务读取另一个事务尚未提交的修改时,产生脏读很多数据库允许脏读以避免排它锁的竞争。不可重复读(Nonrepeatablereads)同一查询在同一事务中多次进行,由于其他提交事务所做的修改或删除,每次返回不同的结果集,此时发…

    2022年5月9日
    28
  • c#封装动态库_nginx调用so动态库

    c#封装动态库_nginx调用so动态库一直对动态库的封装理解不是很透彻,虽然之前写过一个Demo,不过并没有真正的理解。所以写下来,帮助自己理解下。1、一个程序从源文件编译生成可执行文件的步骤:预编译–> 编译–> 汇编–>链接(1)预编译,即预处理,主要处理在源代码文件中以“#”开始的预编译指令,如宏展开、处理条件编译指令、处理#include指令等。(2)编译过程就是把预处理完的文件进行一系列词法

    2022年9月30日
    2
  • ServletContextListener使用详解

    ServletContextListener使用详解在 ServletAPI 中有一个 ServletContextListener 接口,它能够监听 ServletContext 对象的生命周期,实际上就是监听 Web 应用的生命周期。当Servlet 容器启动或终止Web 应用时,会触发ServletContextEvent 事件,该事件由ServletContextListener 来处理。在 ServletContextListene

    2022年4月29日
    41
  • matlab保存图片函数后突变分辨变化,MATLAB总结 – 图片保存「建议收藏」

    matlab保存图片函数后突变分辨变化,MATLAB总结 – 图片保存「建议收藏」I.Matlab中保存图片的方法1.一种是出来图形窗口后手动保存(这儿又可以分两种):1.1直接从菜单保存,有fig,eps,jpeg,gif,png,bmp等格式。1.2edit——〉copyfigure,再粘贴到其他程序。2.另一种是用命令直接保存(这里也有两种):2.1用saveas命令保存图片。saveas的三个参数:(1)图形句柄,如果图形窗口标题栏是“Figure3…

    2025年11月3日
    4
  • 用dedecms做网站时,空间服务器选择IIS还是apache???

    用dedecms做网站时,空间服务器选择IIS还是apache???

    2021年9月22日
    46

发表回复

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

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