java - 如何使用 Apache httpclient5 从 SimpleHttpResponse 获取 HttpEntity
问题描述
我正在尝试从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
解决方案
推荐阅读
- sparql - SPARQL 查询无法检索到的 Wikidata 条目?
- qt - QML MouseArea:如何将鼠标事件传播到其他鼠标区域?
- javascript - 倒数计时器 React Native
- sql-server - 我是否正确编写了此查询?
- python - Python/Requets/美汤基本刮
- rest - 如何通过参数操作保护 REST API 免受重放攻击?
- c++ - 如何检查 RGB ppm 图像中是否没有足够的颜色值
- java - Android / java if else语句在公共类中
- sql-server - 变量附近的语法错误,预期循环中的步骤表达式(XQuery,SQL Server)
- reactjs - 我想在 react js 中打开带有一些数据的新标签点击事件。现在正在使用 history.push 但它正在同一个标签中打开