当前位置: 首页>>代码示例>>Java>>正文


Java SslContext.newClientContext方法代码示例

本文整理汇总了Java中io.netty.handler.ssl.SslContext.newClientContext方法的典型用法代码示例。如果您正苦于以下问题:Java SslContext.newClientContext方法的具体用法?Java SslContext.newClientContext怎么用?Java SslContext.newClientContext使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在io.netty.handler.ssl.SslContext的用法示例。


在下文中一共展示了SslContext.newClientContext方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: initChannel

import io.netty.handler.ssl.SslContext; //导入方法依赖的package包/类
@Override
protected void initChannel(SocketChannel channel) throws SSLException {
    URI uri = config.getConnectionWebsocketUri();

    DefaultHttpHeaders headers = new DefaultHttpHeaders();
    headers.add(USER_ID_HEADER, config.getConnectionUserId().toString());
    headers.add(USER_PASSWORD_HEADER, config.getConnectionUserPassword());
    headers.add(SUPPLIER_ID_HEADER, config.getConnectionServerId());

    WebSocketClientHandshaker handshaker = WebSocketClientHandshakerFactory.newHandshaker(uri, WS_VERSION, null, false, headers);

    ChannelPipeline pipeline = channel.pipeline();
    if (config.isConnectionSecure()) {
        try {
            SslContext sslContext = SslContext.newClientContext(InsecureTrustManagerFactory.INSTANCE);
            pipeline.addLast(sslContext.newHandler(channel.alloc()));
        } catch (SSLException e) {
            logger.log(Level.SEVERE, "Shutting down client due to unexpected failure to create SSL context", e);
            throw e;
        }
    }
    pipeline.addLast(new HttpClientCodec());
    pipeline.addLast(new HttpObjectAggregator(8192));
    pipeline.addLast(new AudioConnectClientHandler(handshaker));
}
 
开发者ID:DeadmanDungeons,项目名称:AudioConnect,代码行数:26,代码来源:AudioConnectClient.java

示例2: connect

import io.netty.handler.ssl.SslContext; //导入方法依赖的package包/类
@Override
protected InetSocketAddress connect(final URI uri, final int port) throws Exception {
	InetSocketAddress address = super.connect(uri, port);

	final SslContext ssl;
	if (uri.getScheme().equalsIgnoreCase("wss")) {
		ssl = SslContext.newClientContext(getTrustManager());
	} else {
		ssl = null;
	}

	HttpHeaders headers = new DefaultHttpHeaders();
	for (Map.Entry<String, String> header : this.headers.entrySet()) {
		headers.add(header.getKey(), header.getValue());
	}

	clientListener = new ClientListener(WebSocketClientHandshakerFactory.newHandshaker(uri, WebSocketVersion.V13, null, false, headers));

	Bootstrap b = new Bootstrap();
	b.group(SocketPoller.group())
		.channel(NioSocketChannel.class)
		.handler(new ChannelInitializer<SocketChannel>() {
			@Override
			protected void initChannel(SocketChannel ch) throws Exception {
				ChannelPipeline p = ch.pipeline();
				if (ssl != null) p.addLast(ssl.newHandler(ch.alloc(), uri.getHost(), port));
				p.addLast(new HttpClientCodec(), new HttpObjectAggregator(8192), clientListener);
			}
		});

	channelFuture = b.connect(address);

	return address;
}
 
开发者ID:SquidDev-CC,项目名称:CCTweaks-Lua,代码行数:35,代码来源:WebSocketConnection.java

示例3: get

import io.netty.handler.ssl.SslContext; //导入方法依赖的package包/类
private File get(URI uri, String url, String proxyHost, int proxyPort,
        final String target) throws Exception {
    final SslContext sslCtx;
    if (isSecured(uri)) {
        sslCtx = SslContext
                .newClientContext(InsecureTrustManagerFactory.INSTANCE);
    } else {
        sslCtx = null;
    }
    final NettyClientHandler handler = new NettyClientHandler(target);
    EventLoopGroup group = new NioEventLoopGroup();
    try {
        Bootstrap b = new Bootstrap();
        b.group(group).channel(NioSocketChannel.class)
                .handler(new NettyClientInitializer(sslCtx, handler));
        // .handler(new HttpSnoopClientInitializer(sslCtx));

        Channel ch = b.connect(proxyHost, proxyPort).sync().channel();

        HttpRequest request = new DefaultFullHttpRequest(
                HttpVersion.HTTP_1_1, HttpMethod.GET, url);
        request.headers().set(HttpHeaders.Names.HOST, uri.getHost());
        request.headers().set(HttpHeaders.Names.CONNECTION,
                HttpHeaders.Values.CLOSE);
        request.headers().set(HttpHeaders.Names.ACCEPT_ENCODING,
                HttpHeaders.Values.GZIP);

        ch.writeAndFlush(request);
        ch.closeFuture().sync();

    } finally {
        group.shutdownGracefully();
    }
    return handler.getFile();
}
 
开发者ID:wxyzZ,项目名称:little_mitm,代码行数:36,代码来源:NettyClient_NoHttps.java

示例4: get

import io.netty.handler.ssl.SslContext; //导入方法依赖的package包/类
public File get(String url) throws Exception {
    URI uri = new URI(url);
    String scheme = uri.getScheme() == null ? "http" : uri.getScheme();
    if (!"http".equalsIgnoreCase(scheme)
            && !"https".equalsIgnoreCase(scheme)) {
        LOG.info("Only HTTP(S) is supported.");
        return null;
    }
    String host = uri.getHost() == null ? "127.0.0.1" : uri.getHost();
    int port;
    if (uri.getPort() == -1) {
        if ("http".equalsIgnoreCase(scheme)) {
            port = 80;
        } else if ("https".equalsIgnoreCase(scheme)) {
            port = 443;
        } else {
            port = -1;
        }
    } else {
        port = uri.getPort();
    }
    this.uri = new URI(scheme, uri.getUserInfo(), host, port,
            uri.getPath(), uri.getQuery(), uri.getFragment());

    final boolean ssl = "https".equalsIgnoreCase(scheme);
    if (ssl) {
        sslCtx = SslContext
                .newClientContext(InsecureTrustManagerFactory.INSTANCE);
    } else {
        sslCtx = null;
    }

    connect(false, group);

    return null;
}
 
开发者ID:wxyzZ,项目名称:little_mitm,代码行数:37,代码来源:RetryClient.java

示例5: tryConnect

import io.netty.handler.ssl.SslContext; //导入方法依赖的package包/类
public boolean tryConnect(boolean ssl, SimpleChannelInboundHandler<Packet> default_handler, Auth auth, Runnable cancelTask)
{
    try
    {
        eventLoopGroup = NetworkUtils.eventLoopGroup(4);
        if (ssl) sslContext = SslContext.newClientContext(InsecureTrustManagerFactory.INSTANCE);

        Bootstrap bootstrap = new Bootstrap()
                .option(ChannelOption.SO_KEEPALIVE, true)
                .option(ChannelOption.TCP_NODELAY, true)
                .option(ChannelOption.IP_TOS, 24)
                .option(ChannelOption.AUTO_READ, true)
                .group(eventLoopGroup)
                .handler(new ChannelInitializer<Channel>() {

                    @Override
                    protected void initChannel(Channel channel) throws Exception
                    {

                        if (sslContext != null)
                            channel.pipeline().addLast(sslContext.newHandler(channel.alloc(), connectableAddress.getHostName(), connectableAddress.getPort()));

                        NetworkUtils.initChannel(channel).pipeline().addLast(default_handler);

                    }
                })
                .channel(NetworkUtils.socketChannel());
        this.channel = bootstrap.connect(connectableAddress.getHostName(), connectableAddress.getPort()).sync().channel().writeAndFlush(new PacketOutAuth(auth)).syncUninterruptibly().channel();

        return true;
    } catch (Exception ex)
    {
        connectionTrys++;
        System.out.println("Failed to connect... [" + connectionTrys + "]");
        System.out.println("Error: " + ex.getMessage());

        if(eventLoopGroup != null)
            eventLoopGroup.shutdownGracefully();

        eventLoopGroup = null;

        if (cancelTask != null)
        {
            cancelTask.run();
        }

        return false;
    }
}
 
开发者ID:Dytanic,项目名称:CloudNet,代码行数:50,代码来源:NetworkConnection.java


注:本文中的io.netty.handler.ssl.SslContext.newClientContext方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。