栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

http发送get请求报javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorExcepti

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

http发送get请求报javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorExcepti

前两天在项目中利用http发送get请求报javax.net.ssl.SSLHandshakeException: 这个错误

其主要原因是安全证书方面的问题。直接上解决方法代码
最近小伙伴们发现有的文件没有。我对应整理了一下。更新上去了。

```java
 
    public static String sendRequest(String requestUrl,Map header) throws Exception{
        HttpsURLConnection conn = null;
        InputStream input = null;
        BufferedReader br = null;
        StringBuffer buffer = null;
        try {
            SSLContext sc = SSLContext.getInstance("SSL");
            sc.init(null, new TrustManager[] { new TrustAnyTrustManager() },new java.security.SecureRandom());
            HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());

            URL url = new URL(requestUrl);
            conn = (HttpsURLConnection) url.openConnection();
            conn.setSSLSocketFactory(sc.getSocketFactory());
            conn.setHostnameVerifier(new TrustAnyHostnameVerifier());

            conn.setDoOutput(false);
            conn.setDoInput(true);
            conn.setUseCaches(false);
            conn.setConnectTimeout(1000 * 100);
            conn.setReadTimeout(1000 * 100);
            conn.setRequestMethod("GET");
            conn.setRequestProperty("Accept", "*
public class TrustAnyTrustManager implements X509TrustManager {
    public  void checkClientTrusted(java.security.cert.X509Certificate[] var1, String var2) throws java.security.cert.CertificateException{

    }

    public void checkServerTrusted(java.security.cert.X509Certificate[] var1, String var2) throws java.security.cert.CertificateException{

    }

    public java.security.cert.X509Certificate[] getAcceptedIssuers(){
        return null;
    }
}

第三部分 TrustAnyHostnameVerifier 类

import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLSession;


public class TrustAnyHostnameVerifier implements HostnameVerifier {
    public boolean verify(String hname, SSLSession session) {
        return true;
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/907105.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号