zoukankan      html  css  js  c++  java
  • HttpClient 访问 https 出现peer can't

    package util;

    import java.security.cert.CertificateException;

    import javax.net.ssl.SSLContext;
    import javax.net.ssl.TrustManager;
    import javax.net.ssl.X509TrustManager;
    import javax.security.cert.X509Certificate;

    import org.apache.http.client.HttpClient;
    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;

    public class WebClientDevWrapper {

    public static HttpClient wrapClient(HttpClient base) {
    try {
    SSLContext ctx = SSLContext.getInstance("TLS");
    X509TrustManager tm = new X509TrustManager() {
    public java.security.cert.X509Certificate[] getAcceptedIssuers() {
    return null;
    }
    public void checkClientTrusted(X509Certificate[] arg0,
    String arg1) throws CertificateException {

    }
    public void checkServerTrusted(X509Certificate[] arg0,
    String arg1) throws CertificateException {

    }
    @Override
    public void checkClientTrusted(
    java.security.cert.X509Certificate[] chain,
    String authType) throws CertificateException {
    // TODO Auto-generated method stub

    }
    @Override
    public void checkServerTrusted(
    java.security.cert.X509Certificate[] chain,
    String authType) throws CertificateException {
    // TODO Auto-generated method stub

    }
    };
    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));
    ThreadSafeClientConnManager mgr = new ThreadSafeClientConnManager(registry);
    return new DefaultHttpClient(mgr, base.getParams());
    } catch (Exception ex) {
    ex.printStackTrace();
    return null;
    }
    }

    public static HttpClient getClient(HttpClient client){
    return wrapClient(client);
    }

    }

  • 相关阅读:
    SharePoint与RMS集成中关于权限的一个技术点
    SharePoint Alert
    SharePoint Explorer View
    在查看network traffic的时候, TCP Chimney offload的影响
    SharePoint Profile Import
    为SharePoint添加Event Receiver
    通过Telnet来发送邮件
    如何查看扩展出来的web application?
    Windows Host 文件
    Wscript.Shell 对象详细介绍
  • 原文地址:https://www.cnblogs.com/Wen-yu-jing/p/3837131.html
Copyright © 2011-2022 走看看