@Override public void connect(final HttpClientConnection conn, final HttpRoute route, final int connectTimeout, final HttpContext context) throws IOException { try { super.connect(conn, route, connectTimeout, context); } catch (SSLProtocolException e) { Boolean enableSniValue = (Boolean) context.getAttribute(SniSSLConnectionSocketFactory.ENABLE_SNI); boolean enableSni = enableSniValue == null || enableSniValue; if (enableSni && e.getMessage() != null && e.getMessage().equals("handshake alert: unrecognized_name")) { logger.warn("Server saw wrong SNI host, retrying without SNI"); context.setAttribute(SniSSLConnectionSocketFactory.ENABLE_SNI, false); super.connect(conn, route, connectTimeout, context); } else { throw e; } } } }
@Override public void connect( final HttpClientConnection conn, final HttpRoute route, final int connectTimeout, final HttpContext context ) throws IOException { logger.trace( "Connecting: {} via route: {}", conn, route ); connectionManager.connect( conn, route, connectTimeout, context ); }
@Override public void connect(final HttpClientConnection conn, final HttpRoute route, final int connectTimeout, final HttpContext context) throws IOException { try { super.connect(conn, route, connectTimeout, context); } catch (SSLProtocolException e) { Boolean enableSniValue = (Boolean) context.getAttribute(SniSSLConnectionSocketFactory.ENABLE_SNI); boolean enableSni = enableSniValue == null || enableSniValue; if (enableSni && e.getMessage() != null && e.getMessage().equals("handshake alert: unrecognized_name")) { logger.warn("Server saw wrong SNI host, retrying without SNI"); context.setAttribute(SniSSLConnectionSocketFactory.ENABLE_SNI, false); super.connect(conn, route, connectTimeout, context); } else { throw e; } } } }
if (!conn.isOpen()) { LOGGER.info(url+" -> 路由连接中."); CM.connect(conn, yunpanRoute, 100,context);// httpClientContext在些初始化有问题 LOGGER.info(url+" -> 路由已连接."); CM.routeComplete(conn, yunpanRoute, context);