应用开发|HTTPS 请求忽略证书验证

参考文章https://blog.csdn.net/shumeng_xiaoyan/article/details/76503601步骤1,实现自己的x509TrustManager类,并复写三种方法public class My509TrustManager implements X509TrustManager { @Override public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {}@Override public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {}@Override public X509Certificate[] getAcceptedIssuers() { return new X509Certificate[0]; } }步骤2

TrustManager[] tm={new My509TrustManager(); //1.生成trustmanager数组 SSLContext ssl=SSLContext.getInstance("TLS"); //2.得到sslcontext实例。SSL TSL 是一种https使用的安全传输协议 ssl.init(null,tm,new SecureRandom()); //初始化sslcontext SSLSocketFactory sslSocketFactory=ssl.getSocketFactory(); //得到sslSocketFactory实例URL url=new URL(urlpath); HttpsURLConnection connection=(HttpsURLConnection) url.openConnection(); connection.setRequestMethod(requestmethod); connection.setSSLSocketFactory(sslSocketFactory); //设置sllsocketfactory connection.setDoInput(true); connection.setDoOutput(true); connection.setUseCaches(false); connection.setRequestProperty("content-type","application/json; charset=UTF-8"); connection.setHostnameVerifier(new HostnameVerifier() { public boolean verify(String arg0, SSLSession arg1) { return true; } }); connection.connect(); String strJson=getJsonData(); OutputStream out=connection.getOutputStream(); if(out!=null&&strJson!=null&&!TextUtils.isEmpty(strJson)){ out.write(strJson.getBytes("UTF-8")); }

    推荐阅读