问题标签 [apache-httpclient-4.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.

0 投票
2 回答
8288 浏览

java - 用于 setHttpRequestRetryHandler 的 httpclient API

关于异常处理的 HTTP 公共客户端 4.12教程部分清楚地表明,应该能够通过执行以下操作来设置请求重试处理程序......

httpclient.setHttpRequestRetryHandler(myRetryHandler);

在eclipse中我试过了,它报告HttpClient没有这样的方法。它建议我让客户AbstractHttpClient然后打电话。setHttpRequestRetryHandler像这样:

((AbstractHttpClient) httpclient).setHttpRequestRetryHandler(myRetryHandler);

那么我的代码就可以工作了,但是文档和 API 之间的这种差异让我想知道我是否在做我不应该做的事情。

文件是错误的还是我?

0 投票
2 回答
10734 浏览

java - 如何在 Apache HttpComponents 中使用自定义 socketfactory

我一直在尝试在 Apache HTTPComponents 项目的 httpclient 库中使用自定义 SocketFactory。到目前为止没有运气。我期待我可以为 HttpClient 实例设置一个套接字工厂,但这显然不是那么容易。

http://hc.apache.org/httpcomponents-client-ga/tutorial/html/connmgmt.html上的 HttpComponents 文档确实提到了套接字工厂,但没有说明如何使用它们。

有人知道这是怎么做到的吗?

0 投票
2 回答
3286 浏览

java - 为什么我的 HttpClient 类与某些 URL 冻结

我目前正在掌握新的 HttpClient 库,以提供一个基本类来返回 html/css/etc。请求的 URL。使用取自此处的示例

你可以看到下面的例子:

我遇到的问题是,如果我要将我想要请求的 URL 设置为http://www.google.com之类的东西,那么它会打印出我需要的响应。但是,当我使用诸如 www.cwjobs.co.uk 之类的 URL(仅用作示例)时,它会冻结在执行方法上。

我对 Java 相当陌生,我了解 HTTP 的基础知识,所以我很想知道: - 虽然我使用了一个基本示例,但我做错了,要么缺少需要添加才能访问该特定 URL 的内容 - 它由于服务器端的环境设置,无法从该特定 URL 获得我想要的响应。- 你可以推荐给我的任何额外的文献或链接,让我在 Apache.org 站点之外查看

谢谢,马克

0 投票
1 回答
9129 浏览

java - connectionmanager 真的应该关闭吗?

有时我会收到

我看到了类似的问题java.net.SocketException: Too many open files,我也使用 apache 的 httpclient,但似乎答案对我没有太大帮助......

有两个答案:

1) 做httpClient.getConnectionManager().shutdown();

2)调用entity.getContent().close()而不是entity.consumeContent()

但似乎没有一个适合...

1)问题是我正在使用ThreadSafeConnectionManager. 它被创建一次(在应用程序启动时)。因此我们不会关闭(以便连接可重用)。如果我在此管理器上关闭 - 所有连接都将关闭。如果我使用SingleClientConnectionManager,那将是合适的,但我没有。我对吗?

2)我发现我也没有关闭流。但是当我开始调试时 - 似乎这个getContent()流已经关闭,甚至在调用consumeContent(). 尽管(甚至之后consumeContentsocketInputStream那些 getContent() 流内部以及套接字都没有关闭。不好吗?这可能是问题的原因吗?而且我没有找到关闭此套接字的方法!它位于外部输入流内部,所以我无法得到它。但是我在调​​试模式下看到,这个套接字没有关闭,以及SocketInputStream.

通常我们应该如何使用ThreadSafeConnectionManager- 应该只创建一次吗?如果是这样,如果有的话,如何正确关闭这些套接字?

0 投票
5 回答
99921 浏览

java - 如何从 HttpClient 获取 cookie?

我正在使用 HttpClient 4.1.2

那么,如何获取 cookie 值呢?

0 投票
2 回答
19189 浏览

java - 在 Spring 3.1 中使用基本身份验证的 RestTemplate

我们在 Spring 3.0 中使用带有 xml 配置的 RestTemplate,它工作得非常好。

但是,当我们尝试迁移到 Spring 3.1 版本时,CommonsClientHttpRequestFactory 类已被弃用,并且不再使用 commons HttpClient。

我试图使用 HttpComponentsClientHttpRequestFactory 类和 Apache HttpClient 设置类似的配置,但不知道如何设置凭据提供程序。

我们想要具有基本身份验证的 httpclient。有没有人这样做或任何指针将是很大的帮助。提前致谢。

0 投票
1 回答
2154 浏览

java - java HttpClient4 中的 HttpMethodBase 替代方案

我在常见方法中使用 HttpMethodBase,例如 submitRequest(HttpMethodBase method,String input) for PostMethod method = new PostMethod(url) 或 GetMethod method = new GetMethod(url)

但是我们刚刚更新到 HttpClient4,并且没有像版本 3 中那样使用公共对象的明确方法。

为 Post、Get、Delete 等获取一些公共对象的最佳方法是什么。我不想为 post、get 或 delete 维护不同的方法。

0 投票
1 回答
5516 浏览

java - 如何将 curl -X post 翻译成 java

我正在尝试将 curl 命令翻译成 Java(使用 Apache HttpClient 4.x):

但我收到以下错误:{“错误”:“未授权”}。

这就是我的 java 代码的样子:

如何翻译以 -H 开头的卷曲线和以“--data-binary”开头的卷曲线?-d 的 java 等效项是什么?

任何提示表示赞赏。谢谢

0 投票
2 回答
6479 浏览

java - Java Async Http 客户端比较

我正在为我的应用程序评估 HTTP 客户端库。这是一个 Web 应用程序,它调用各种 Web 服务,聚合内容,然后将其发送到 Ajax 客户端。我想我需要一个异步客户端,因为我想在等待来自 Web 服务的长响应时释放我的应用程序服务器(Tomcat)线程,以便 Tomcat 可以在我执行 IO 以定位 Web 服务时重用这个线程来做其他事情.

我在那里找到了 3 个图书馆

  1. Apache HttpClient 4.x
  2. 码头 Http 客户端
  3. Sonotype Http Client(前宁)

想知道这个库是如何比较的。

我可以看到 Sonotype 客户端可以使用可插入的提供程序进行 http 处理,包括 Apache Http Client 3.x。如果我直接使用 Apache Http 4.x 客户端而不是通过 Sonotype 客户端,我看不到我失去了什么。

0 投票
1 回答
1045 浏览

java - Apache HttpAsyncClient 的稳定性如何?

我想实现一个基于 NIO 的 aws java 客户端,并且正在考虑使用HttpAsyncClient但它处于 Alpha 3 阶段。有没有人有在任何负载下使用客户端的经验?另外,我们什么时候可以期待它进入测试版并发布?