问题标签 [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.
java - 用于 setHttpRequestRetryHandler 的 httpclient API
关于异常处理的 HTTP 公共客户端 4.12教程部分清楚地表明,应该能够通过执行以下操作来设置请求重试处理程序......
httpclient.setHttpRequestRetryHandler(myRetryHandler);
在eclipse中我试过了,它报告HttpClient没有这样的方法。它建议我让客户AbstractHttpClient
然后打电话。setHttpRequestRetryHandler
像这样:
((AbstractHttpClient) httpclient).setHttpRequestRetryHandler(myRetryHandler);
那么我的代码就可以工作了,但是文档和 API 之间的这种差异让我想知道我是否在做我不应该做的事情。
文件是错误的还是我?
java - 如何在 Apache HttpComponents 中使用自定义 socketfactory
我一直在尝试在 Apache HTTPComponents 项目的 httpclient 库中使用自定义 SocketFactory。到目前为止没有运气。我期待我可以为 HttpClient 实例设置一个套接字工厂,但这显然不是那么容易。
http://hc.apache.org/httpcomponents-client-ga/tutorial/html/connmgmt.html上的 HttpComponents 文档确实提到了套接字工厂,但没有说明如何使用它们。
有人知道这是怎么做到的吗?
java - 为什么我的 HttpClient 类与某些 URL 冻结
我目前正在掌握新的 HttpClient 库,以提供一个基本类来返回 html/css/etc。请求的 URL。使用取自此处的示例
你可以看到下面的例子:
我遇到的问题是,如果我要将我想要请求的 URL 设置为http://www.google.com之类的东西,那么它会打印出我需要的响应。但是,当我使用诸如 www.cwjobs.co.uk 之类的 URL(仅用作示例)时,它会冻结在执行方法上。
我对 Java 相当陌生,我了解 HTTP 的基础知识,所以我很想知道: - 虽然我使用了一个基本示例,但我做错了,要么缺少需要添加才能访问该特定 URL 的内容 - 它由于服务器端的环境设置,无法从该特定 URL 获得我想要的响应。- 你可以推荐给我的任何额外的文献或链接,让我在 Apache.org 站点之外查看
谢谢,马克
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()
. 尽管(甚至之后consumeContent
)socketInputStream
那些 getContent() 流内部以及套接字都没有关闭。不好吗?这可能是问题的原因吗?而且我没有找到关闭此套接字的方法!它位于外部输入流内部,所以我无法得到它。但是我在调试模式下看到,这个套接字没有关闭,以及SocketInputStream
.
通常我们应该如何使用ThreadSafeConnectionManager
- 应该只创建一次吗?如果是这样,如果有的话,如何正确关闭这些套接字?
java - 如何从 HttpClient 获取 cookie?
我正在使用 HttpClient 4.1.2
那么,如何获取 cookie 值呢?
java - 在 Spring 3.1 中使用基本身份验证的 RestTemplate
我们在 Spring 3.0 中使用带有 xml 配置的 RestTemplate,它工作得非常好。
但是,当我们尝试迁移到 Spring 3.1 版本时,CommonsClientHttpRequestFactory 类已被弃用,并且不再使用 commons HttpClient。
我试图使用 HttpComponentsClientHttpRequestFactory 类和 Apache HttpClient 设置类似的配置,但不知道如何设置凭据提供程序。
我们想要具有基本身份验证的 httpclient。有没有人这样做或任何指针将是很大的帮助。提前致谢。
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 维护不同的方法。
java - 如何将 curl -X post 翻译成 java
我正在尝试将 curl 命令翻译成 Java(使用 Apache HttpClient 4.x):
但我收到以下错误:{“错误”:“未授权”}。
这就是我的 java 代码的样子:
如何翻译以 -H 开头的卷曲线和以“--data-binary”开头的卷曲线?-d 的 java 等效项是什么?
任何提示表示赞赏。谢谢
java - Java Async Http 客户端比较
我正在为我的应用程序评估 HTTP 客户端库。这是一个 Web 应用程序,它调用各种 Web 服务,聚合内容,然后将其发送到 Ajax 客户端。我想我需要一个异步客户端,因为我想在等待来自 Web 服务的长响应时释放我的应用程序服务器(Tomcat)线程,以便 Tomcat 可以在我执行 IO 以定位 Web 服务时重用这个线程来做其他事情.
我在那里找到了 3 个图书馆
- Apache HttpClient 4.x
- 码头 Http 客户端
- Sonotype Http Client(前宁)
想知道这个库是如何比较的。
我可以看到 Sonotype 客户端可以使用可插入的提供程序进行 http 处理,包括 Apache Http Client 3.x。如果我直接使用 Apache Http 4.x 客户端而不是通过 Sonotype 客户端,我看不到我失去了什么。
java - Apache HttpAsyncClient 的稳定性如何?
我想实现一个基于 NIO 的 aws java 客户端,并且正在考虑使用HttpAsyncClient但它处于 Alpha 3 阶段。有没有人有在任何负载下使用客户端的经验?另外,我们什么时候可以期待它进入测试版并发布?