处理代码示例
private static void trustAllHosts() {
TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {
@Override
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return new java.security.cert.X509Certificate[] {};
}
@Override
public void checkClientTrusted(X509Certificate[] chain, String authType) {
}
@Override
public void checkServerTrusted(X509Certificate[] chain, String authType) {
}
} };
try {
SSLContext sc = SSLContext.getInstance("TLS");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
} catch (Exception e) {
e.printStackTrace();
}
}
final static HostnameVerifier DO_NOT_VERIFY = new HostnameVerifier() {
@Override
public boolean verify(String hostname, SSLSession session) {
return true;
}
};
网络请求示例
HttpsURLConnection conn = null;
InputStream in = null;
try{
//在请求钱先调用此方法
trustAllHosts();
//request ssl
URL url = new URL(request);
conn = (HttpsURLConnection)url.openConnection();
//不验证hostname
conn.setHostnameVerifier(DO_NOT_VERIFY);
conn.connect();
in = conn.getInputStream();
//后续处理