You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
2.1 KiB
Java
57 lines
2.1 KiB
Java
package com.engine.tjyh.xc.util;
|
|
|
|
import org.apache.commons.logging.Log;
|
|
import org.apache.commons.logging.LogFactory;
|
|
import org.apache.http.conn.scheme.PlainSocketFactory;
|
|
import org.apache.http.conn.scheme.Scheme;
|
|
import org.apache.http.conn.scheme.SchemeRegistry;
|
|
import org.apache.http.conn.ssl.SSLSocketFactory;
|
|
import org.apache.http.impl.client.DefaultHttpClient;
|
|
import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;
|
|
|
|
import javax.net.ssl.SSLContext;
|
|
import javax.net.ssl.TrustManager;
|
|
import javax.net.ssl.X509TrustManager;
|
|
import java.security.cert.CertificateException;
|
|
import java.security.cert.X509Certificate;
|
|
|
|
/**
|
|
* Created by fmj on 2018/9/18.
|
|
*/
|
|
public class HttpClientWrapper {
|
|
private static Log log = LogFactory.getLog(HttpClientWrapper.class.getClass());
|
|
|
|
public static DefaultHttpClient wrapClient(DefaultHttpClient base) {
|
|
try {
|
|
SSLContext ctx = SSLContext.getInstance("TLS");
|
|
X509TrustManager tm = new WeaverTrustManager();
|
|
ctx.init(null, new TrustManager[]{tm}, null);
|
|
SSLSocketFactory ssf = new SSLSocketFactory(ctx, SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
|
|
SchemeRegistry registry = new SchemeRegistry();
|
|
registry.register(new Scheme("https", 443, ssf));
|
|
registry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
|
|
ThreadSafeClientConnManager mgr = new ThreadSafeClientConnManager(registry);
|
|
return new DefaultHttpClient(mgr, base.getParams());
|
|
} catch (Exception ex) {
|
|
log.error("HttpClientWrapper.wrapClient catch a exception : " + ex);
|
|
}
|
|
|
|
return base;
|
|
}
|
|
|
|
static class WeaverTrustManager implements X509TrustManager {
|
|
@Override
|
|
public void checkClientTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException {
|
|
}
|
|
|
|
@Override
|
|
public void checkServerTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException {
|
|
}
|
|
|
|
@Override
|
|
public X509Certificate[] getAcceptedIssuers() {
|
|
return null;
|
|
}
|
|
}
|
|
}
|