我正在尝试从httpclient4迁移到httpclient5。
我CloseableHttpAsyncClient
用来执行请求。
当使用httpclient4 httpClient.execute()
时,期望HttpRequestUri
作为第一个参数,并FutureCallable<httpResponse>
作为第二个参数。
但是在httpclient5中,当您调用httpClient.execute()
它时,它期望SimpleHttpRequest
作为第一个参数,并FutureCallable<SimpleHttpResponse>
作为第二个参数。
问题是我正在使用未来response.getEntity()
的completed
方法,我必须HttpEntity
出于正当理由使用。但是SimpleHttpResponse
没有getEntity()
办法。
有什么办法可以从中获取HttpEntity
吗SimpleHttpResponse
?
解决这个问题的另一种方法是使用ClassicHttpRespose
而不是SimpleHttpResponse
,因为它有getEntity()
方法。问题是该execute()
方法没有将其作为有效参数接收。
总而言之,有没有办法从SimpleHttpResponse
或使用实体?execute
ClassicHttpResponse