展开全部
import java.security.cert.X509Certificate;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.X509TrustManager;
public class MyHttpsConnection {
private myX509TrustManager xtm = new myX509TrustManager();
private myHostnameVerifier hnv = new myHostnameVerifier();
public MyHttpsConnection() {
32313133353236313431303231363533e78988e69d8331333337623530SSLContext sslContext = null;
try {
sslContext = SSLContext.getInstance("TLS");
X509TrustManager[] xtmArray = new X509TrustManager[] { xtm };
sslContext.init(null, xtmArray, new java.security.SecureRandom());
} catch (Exception gse) {
gse.printStackTrace();
}
if (sslContext != null) {
HttpsURLConnection.setDefaultSSLSocketFactory(sslContext.getSocketFactory());
}
HttpsURLConnection.setDefaultHostnameVerifier(hnv);
}
}
class myX509TrustManager implements X509TrustManager {
public myX509TrustManager() {
}
public void checkClientTrusted(X509Certificate[] chain, String authType) {
}
public void checkServerTrusted(X509Certificate[] chain, String authType) {
}
public X509Certificate[] getAcceptedIssuers() {
return null;
}
}
class myHostnameVerifier implements HostnameVerifier {
public myHostnameVerifier() {
}
public boolean verify(String hostname, SSLSession session) {
return true;
}
}
调用时类似
new MyHttpsConnection();
URLConnection urlCon = (new URL(url)).openConnection();
urlCon.setConnectTimeout(5000);