zoukankan      html  css  js  c++  java
  • HttpURLConnection绕过HTTPS的SSL验证

    (这个jdk环境需要是1.8,以上)。

    直接在类里面加一个static代码块

     1 static {
     2         try {
     3             trustAllHttpsCertificates();
     4             HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
     5                 public boolean verify(String urlHostName, SSLSession session) {
     6                     return true;
     7                 }
     8             });
     9         } catch (Exception e) {
    10         }
    11     }

      在调用如下方法:

     1 private static void trustAllHttpsCertificates() throws NoSuchAlgorithmException, KeyManagementException {
     2         TrustManager[] trustAllCerts = new TrustManager[1];
     3         trustAllCerts[0] = new TrustAllManager();
     4         SSLContext sc = SSLContext.getInstance("SSL");
     5         sc.init(null, trustAllCerts, null);
     6         HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
     7     }
     8 
     9     private static class TrustAllManager implements X509TrustManager {
    10         public X509Certificate[] getAcceptedIssuers() {
    11             return null;
    12         }
    13 
    14         public void checkServerTrusted(X509Certificate[] certs, String authType) throws CertificateException {
    15         }
    16 
    17         public void checkClientTrusted(X509Certificate[] certs, String authType) throws CertificateException {
    18         }
    19     }

    这样就应该没有问题了。

  • 相关阅读:
    drf项目部署到腾讯云
    ruby的DIR.pwd
    ruby+selenium-webdriver测试
    ruby
    ruby类对象和对象
    ruby的实例变量
    ruby在类中访问@,类外访问调用方法
    ruby中=>是什么意思
    ruby
    css content属性
  • 原文地址:https://www.cnblogs.com/jylee/p/9391876.html
Copyright © 2011-2022 走看看