问题标签 [apache-httpcomponents]

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.

0 投票
2 回答
1278 浏览

java - gwt-dev 包括 httpclient 4.0 我如何在 Maven 环境中解决这个问题?

我的项目使用 httpcore 4.1... gwt-dev 2.3 jar 包括 4.0... 不向前兼容。如果我从 jar 中破解 4.0 并欺骗 maven 使用它,我的生成器将工作并且我的代码无需额外更改即可编译。如何在不破解我的 maven 存储库的情况下做到这一点,以便创建可重现的构建?如果我只想在我的 gwt 构建中添加一个生成器,我真的需要完整的 gwt-dev jar 吗?我肯定错过了什么...

0 投票
2 回答
10788 浏览

java - Java - DefaultHttpClient 和“主机”标头 [Apache HttpComponent]

我通过 DefaultHttpClient 提交多个 HTTP 请求。问题是“主机”标头从未在请求​​中设置。例如通过执行以下 GET 请求:

生成的请求对象没有设置强制性的“主机”标头的值:

有小费吗?

0 投票
1 回答
826 浏览

java - 如何使用 Apache Http 组件中继来自 servlet 的 POST 请求?

我对 Servlet API 和 Apache Http 组件都不太熟悉。

我需要使用我已经实现的 HttpServlet.doPost() 处理带有未知数据的传入 POST 请求(尽管可能是表单提交的结果),并从另一个 URL 请求相同的发布信息,有效地充当HTTP POST。然后,我需要将响应转换为字符串(它将是 text/html)并进一步处理它,然后再将其返回到向我请求它的 Web 浏览器。

由于我对这些库不熟悉,我不清楚如何处理发布数据的内容类型等问题,以及如何避免因忽略释放资源而导致的任何问题。

任何人都可以对此提供任何指示吗?

0 投票
1 回答
12968 浏览

java - Apache HttpCore,简单的服务器来回显收到的帖子数据

使用此处找到的 ElementalHttpServer 示例类:

https://hc.apache.org/httpcomponents-core-4.3.x/httpcore/examples/org/apache/http/examples/ElementalHttpServer.java

我能够成功接收帖子数据,我的目标是将收到的帖子数据转换为我可以打印的字符串。我已经修改了 HttpFileHandler 如下,使用 eneity.getContent() 来获取 inputStream,但我不确定如何将 inputStream 转换为字符串。

}

感谢您的任何想法

0 投票
2 回答
1219 浏览

java - Java:HttpComponents 从特定 URL 的输入流中获取垃圾响应

我目前正在尝试让 HttpComponents 发送 HttpRequests 并检索响应。在大多数 URL 上,这都没有问题,但是当我尝试获取 phpBB 论坛的 URL 时,即http://www.forum.animenokami.com客户端需要更多时间,并且 responseEntity 包含不止一次的段落导致损坏.html 文件。

例如,元标记包含六次。由于许多其他 URL 有效,我无法弄清楚我做错了什么。该页面在已知浏览器中正常工作,因此这不是他们方面的问题。

这是我用来发送和接收的代码。

我希望你能帮助我。如果您需要更多信息,我会尽快提供。

0 投票
4 回答
56449 浏览

java - 当 EntityUtils.toString() 返回异常时,有没有办法获取 HttpEntity 的字符串值?

我一直遇到这种情况,我得到一个错误的 HTTP 响应(如 400),但无法查看 HttpResponse 对象中的 HttpEntity。当我使用调试器单步执行时,我可以看到实体有内容(长度 > 0),我什至可以查看内容,但我看到的只是一个数字数组(我猜是 ASCII 码?)有帮助。我将在实体上调用 EntityUtils.toString(),但我得到一个异常——要么是 IOException,要么是某种“对象处于无效状态”异常。这真是令人沮丧!有没有办法以人类可读的形式获取这些内容?

这是我的代码:

看看我在哪里抛出异常?我想做的是吸出 HttpEntity 的内容并将其放入异常中。

0 投票
1 回答
4884 浏览

java - 如何使用 HttpComponents 发布数组参数

我想用 Apache http-components (4.1.2) 执行这个命令

目标 api 需要字符串string-keys参数作为数组,这意味着对每个参数重复strings[]string-keys[]

此 curl 命令工作正常,但使用 Http 组件,而我得到完全相同的参数。

也许我做错了什么。

POST 参数看起来像:

如果我将它们放在 curl 中的 --data 后面,它可以工作,但不能与 HttpCoponents 一起使用。有人可以解释我为什么吗?

提前致谢

0 投票
0 回答
248 浏览

java - 使用 httpcomponents 通过单个连接处理多个请求?

我想使用单个连接与客户端设备进行通信。

我在保持连接有效时遇到问题。我正在使用 DefaultConnectionReuseStrategy(),它在每次请求后为 keepAlive() 返回 false,因此连接始终关闭。我已将 Connection 标头设置为 Keep-Alive,但它仍然总是关闭连接。

我的第二个问题是,如果我重写 keepAlive() 以始终返回 true,我的客户端会在读取输入流时阻塞。我该怎么处理这个?我应该阅读内容长度标题以了解要阅读的内容吗?如果没有给出内容长度怎么办?

0 投票
1 回答
146 浏览

java - HTTP客户端-服务器,我不认为我正在关闭与 BasicResponseHandler() 的客户端连接

我有一个使用 Apache HTTPCore 实现的服务器,它可以接受来自 httpclient 实现的帖子。我有足够的工作,以便我可以发送到服务器,处理帖子内容,并在客户端上获取响应。一切似乎都正常,但是我注意到服务器保持连接活动直到超时,即使客户端连接已成功完成。我假设我需要在收到响应后关闭客户端的连接,但是我相信我已经在使用时这样做了BasicResponseHandler(),它返回 a String,所以我无法弄清楚我需要什么实际上关闭。

对此有什么想法吗?我打算尝试使用返回一个不同的响应处理程序InputStream,并查看关闭是否有效,但我认为它BasicResponseHandler已经在后台执行此操作,因为它返回一个String

0 投票
1 回答
2844 浏览

java - Apache HttpClient 将域解析为 IP 地址且证书不匹配

使用 Apache HttpComponents HttpClient 库 (4.0.2) 时,我遇到了证书未正确验证的问题。该证书对域名有效(我们称之为 example.com),但它会根据 IP 地址进行验证:

证书中的主机名不匹配:<123.123.123.123> != <*.example.com>

我建立连接的代码是:

通过 Web 浏览器连接时,证书本身显示为有效,并且对我要连接的域名有效:

CN = *.example.com

该证书也被添加到 Java 密钥库中(使用常规测试HttpsURLConnection)。

任何想法为什么此代码使用 IP 地址而不是域名?