问题标签 [apache-httpclient-5.x]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Apache Http 客户端执行请求而不发送封闭实体
我确实有以下情况:
1) 客户端通过套接字向服务器发送带有封闭实体的 HTTP 请求。
2)服务器将封闭实体上传到另一个位置,我们称之为存储。
我只需要实现服务器。
到目前为止,我能够使用Apache HTTP 组件库来实现它,使用类似的东西:
到目前为止,一切都很好。问题是,存储服务器需要身份验证。当服务器发出第一个请求(通过 Apache Http Client API)时,存储响应 407 Authentication Required。Apache Http 客户端进行初始握手,然后重新发送请求,但现在没有实体,因为它已被第一个请求消耗。
一种解决方案是从客户端缓存实体,但它可能非常大,超过 1 GB。
问题是否有更好的解决方案,例如仅预发送请求的标头?
java - Apache HttpClient v5.0 不在 Windows 上使用 NTLM 进行身份验证
我正在尝试通过这样的 NTLM 代理发出请求:
但它失败了,这是日志:
环境
- 操作系统:Windows 10
- JRE:采用OpenJdk v11
- 代理类型:NTLM (Wingate)
问题上面的代码有问题吗?
Obs相同的代码适用于 Apache Http Client v4.5.12
apache - 是否可以从 HttpClient-5.x 中止 HttpAsynClient 中的 http 请求 [GET、POST 等]?
我正在使用 org.apache.hc.client5.http.impl.async.HttpAsyncClients.create() 为我的 HTTP/2 请求创建 org.apache.hc.client5.http.impl.async.CloseableHttpAsyncClient。我正在寻找一些功能来从套接字通道读取一些数据后中止请求。
我尝试使用 Future 实例中的 cancel(mayInterruptIfRunning) 方法。但是在中止它之后,我无法获得响应标头和下载的内容。
有没有其他方法可以通过 httpclient-5.x 实现这一点?
提前致谢。
apache-httpclient-5.x - 如何从 Apache HttpClient5 的 HttpResponse 中获取响应体?
在版本 4 中获取状态码和响应正文非常简单:
但是现在在 httpclient5 中,由于某种原因,无法从 HttpResponse 中获取与响应正文相关的任何内容。对此非常困惑。如果我在他们的快速入门( https://hc.apache.org/httpcomponents-client-5.0.x/quickstart.html )中遵循示例 3,它建议我创建一个 CloseableHttpClient、一个 HttpGet 和一个 CloseableHttpResponse,但这些都不允许你设置连接超时。试图找到两全其美的选择,但这里的选择似乎有点混乱。
apache-httpclient-5.x - Apache HttpComponents HttpClient 5.0 - Kerberos SPNEGO 客户端
我正在尝试将我的 HttpClient 4.x 代码移植到 5.x
但是在 5.x 中不再有 AuthSchemeProvider,并且 SPNegoSchemeFactory 有一个不同的构造函数:-/
java - Apache HttpClient 5 作为 Google Cloud Storage API 中的传输选项
在 Java 中使用Google Cloud Storage API时,我们可以使用构建器创建一个Storage实例,同时指定一些传输选项,如下所示:
是否可以使用现有实例 Apache HttpClient 版本 5 作为传输选项?
apache-flink - HttpAsyncClient HC5 请求超时
我们正在检查使用 HttpClient 5.0 中的 HttpAsyncClient,它将在 Flink AsyncFunction 中创建。要求如下:
- 客户端是根据请求创建的;
- SSL 证书应该在运行时从文件中加载;
- 如果发生延迟的特定次数失败,则应重试请求
这是测试的一部分:
DefaultHttpRequestRetryStrategy 被覆盖以允许在 SocketTimeout 异常的情况下重试。
在对响应延迟为 1200 毫秒的 MOCK HTTP 服务器进行重试策略测试时,我发现当我预期所有请求都失败时,部分请求成功(因为超时设置为 1000 毫秒)。例如,我同时调用了上述代码 10 次,其中 3 次请求成功。这是否意味着响应超时可以超过配置?当我将 setMaxtTotal 发送到连接管理器(cm.setMaxTotal(100))时,所有请求都按预期失败。为什么增加连接会解决问题(为每个请求创建连接管理器,它不会被新请求/客户端重用)?这是解决超时问题的正确解决方案吗?
PoolingAsyncClientConnectionManager 的使用是否符合我们的要求?如果不是,如何以其他方式配置 SSL 上下文和重试策略?
谢谢!
java - 为什么使用 Apache HttpClient5 发出的 http 请求在使用抢先 BASIC 身份验证时会收到 http 404 错误
我需要有关此处描述的 apache http 5 客户端示例的帮助。我的目标是做与 CURL 完全相同的事情:
我修改了示例以执行 POST 而不是 GET:
我的服务器端代码是由 JHipster 生成的 Spring Boot App,处理请求的控制器是这样的:
执行后 _sendFile 代码收到 HTTP 错误 404。我打开了 httpclient 5 的日志记录,它注销了与服务器端的正确连接,它以 404 响应:
一开始我认为spring boot端的控制器是错误的,但是我用cURL尝试了同样的请求,它以成功结束:
我看到 apache http 客户端附加字符编码的内容类型存在差异。现在我想知道:
- 我应该强制使用 utf8 字符编码吗?如何?或者
- 我的 apache httpclient 帖子示例中还有其他问题
httpclient - HttpClient5.0,如何在异步模式下使用gzip?
HttpClient5.0.1,如何在异步模式下使用gzip?官方文档上没有使用异步方式使用gzip压缩的例子。
apache-httpasyncclient - HttpAsyncClient 5 | 处理 Gzip 内容作为响应的最佳方法
从链接我们了解到这automatic content decompression.
是不支持的。
那么下面的配方是处理 gzip 内容的好方法吗?