我正在使用 org.apache.hc.client5.http.impl.async.HttpAsyncClients.create() 为我的 HTTP/2 请求创建 org.apache.hc.client5.http.impl.async.CloseableHttpAsyncClient。我正在寻找一些功能来从套接字通道读取一些数据后中止请求。
我尝试使用 Future 实例中的 cancel(mayInterruptIfRunning) 方法。但是在中止它之后,我无法获得响应标头和下载的内容。
Future<SimpleHttpResponse> future = null;
CloseableHttpAsyncClient httpClient = null;
try {
httpClient = httpAsyncClientBuilder.build();
httpClient.start();
future = httpClient.execute(target, asyncRequestProducer, SimpleResponseConsumer.create(), null, this.httpClientContext, this);
future.get(10, TimeUnit.SECONDS);
} catch (Exception ex) {
ex.printStackTrace();
} finally {
httpClient.close(CloseMode.GRACEFUL);
}
有没有其他方法可以通过 httpclient-5.x 实现这一点?
提前致谢。