EventLoopGroup group = new NioEventLoopGroup(); Bootstrap bootstrap = new Bootstrap(); bootstrap.group(group) .channel(NioSocketChannel.class) .option(ChannelOption.SO_KEEPALIVE, true) .handler(new ChannelInitializer<SocketChannel>() { @Override protected void initChannel(SocketChannel socketChannel) throws Exception { ChannelPipeline pipeline = socketChannel.pipeline(); pipeline.addLast(new HttpClientCodec()); pipeline.addLast(new HttpObjectAggregator(65536)); pipeline.addLast(new HttpContentDecompressor()); pipeline.addLast(new SimpleChannelInboundHandler<FullHttpResponse>() { @Override protected void channelRead0(ChannelHandlerContext channelHandlerContext, FullHttpResponse fullHttpResponse) throws Exception { } }); } }); ChannelFuture future = bootstrap.connect("example.com", 80).sync(); DefaultFullHttpRequest request = new DefaultFullHttpRequest(HttpVersion.HTTP_1_1, HttpMethod.GET, "/"); future.channel().write(request); future.channel().flush(); future.channel().closeFuture().sync(); CloseableHttpAsyncClient httpclient = HttpAsyncClients.createDefault(); httpclient.start(); HttpGet request = new HttpGet("http://example.com/"); httpclient.execute(request, new FutureCallback<HttpResponse>() { @Override public void completed(final HttpResponse response) { } @Override public void failed(final Exception ex) { } @Override public void cancelled() { } }); httpclient.close(); WebClient client = WebClient.create(); Mono<String> result = client.get() .uri("http://example.com/") .retrieve() .bodyToMono(String.class); result.subscribe(response -> { });


上一篇:
下一篇:
切换中文