问题标签 [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 投票
4 回答
2229 浏览

java - 为什么 HTTP 客户端需要 InputStream?(爪哇)

我一直在使用 Java 中的各种 HTTP 客户端从网站获取各种信息或使用网络服务(如谷歌地图地理编码器)

我正在使用的当前客户端是来自 Apache的HTTP 组件客户端。

我一直想知道为什么没有 .getText() 或 .getBytes() 方法可以简单地为我提供 url 的所有内容,而是有返回 InputStream 的方法。这样做的意义或原因是什么?

这不像我不断与服务器通信,所以我必须不断检查流。HTTP 是无状态的,那么为什么没有 getText()/getBytes() 方法在收到 HTTP 响应后简单地返回其内容(作为 String 或 byte[])?

0 投票
2 回答
1412 浏览

java - 多部分格式的解析器

org.apache.http 可以与多部分一起使用吗?

我发送带有标头的http请求Range : bytes=0-500,9000-9999

我得到文件格式:

如何只取字节?

0 投票
5 回答
65740 浏览

java - Apache HttpComponents HttpClient 超时

如何在 httpcomponents httpclient 中设置连接超时?我在以下位置找到了文档:http ://hc.apache.org/httpcomponents-client-ga/tutorial/html/connmgmt.html但不清楚这些参数是如何实际设置的。

SO_TIMEOUT此外,解释和之间的区别CONNECTION_TIMEOUT将是有帮助的。

0 投票
2 回答
326 浏览

java - 如何只获取 HTML 页面的一部分?

挑选出我从 Apache 和 Java 的 HttpClient4 请求获得的 Html 页面的一部分的最佳方法是什么?具体来说,我需要一个表格(它的内容)。
解释,示例或链接会很棒。

0 投票
2 回答
5088 浏览

java - Apache HTTP 4.x:如何在 HttpClient 上配置“默认上下文”

在 Apache HTTP Client(4.x,commons http 3.x 的继承者)中,关于HttpClient方法:

JavaDocs 中的状态:

“使用默认上下文执行请求。”

  • 什么是默认上下文(引用一个HttpContext对象)?
  • 如何配置默认上下文,这样我就不需要在每次调用时将其传递给execute()?(我不控制对 execute() 的调用,但我控制创建 HttpClient)
0 投票
2 回答
8401 浏览

java - Java Httpclient HttpRequestRetryHandler 不起作用。如何实现重试?

我正在尝试在未收到响应后实施请求重试。我在 Httpclient 教程中阅读了它。HttpRequestRetryHandler 只被调用一次,然后抛出异常。我在这里做错了什么?

更新
if在 SocketTimeoutException 的异常处理中添加了一个条件。
但是从那里做什么呢?我该如何重试?

在服务器中,我设置了断点,因此它将保持连接并且不会返回响应。我在 Httpclient 中遇到的错误:

0 投票
2 回答
5341 浏览

java - 使用 NTLM 身份验证时最新的 Apache HttpClient 4.1.1 出现 HTTP/1.1 407 错误

我正在尝试使用 Apache HttpClient 4.1.1 库 ( http://hc.apache.org/httpcomponents-client-ga/tutorial/html/authentication.html ) 从我公司使用 ISA 的代理访问网站具有 NTLM 身份验证的服务器,但我不断收到 HTTP 407 Proxy Authentication Required 错误:

代码片段

输出/输出

我在这里想念什么?

更新:在相同的环境中,使用 JDK URL 和 URLConnection 类的代码可以工作!

工作代码片段

输出/输出

0 投票
4 回答
84419 浏览

java - 为什么我收到异常 javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated?

我正在使用 Apache HttpComponents HttpClient(4.0.1) 进行 HTTPS 调用,但我将这个异常作为响应:

我提供了所有必需的参数。目标系统不需要任何用户名/密码或代理,但它包含安装在服务器中的 JKS csrtificates。用户名和密码为空值。

这适用于org.apache.commons.httpclient.methods.PostMethod- 版本 3.0 - commons-httpclient-3.0.jar 现在我们已经实现了org.apache.http.client.methods.HttpPost- 版本 4.0.1 - commons-httpclient.jar

这是不起作用的示例代码片段:

0 投票
0 回答
2536 浏览

java - Apache HttpClient POST 不适用于实体

我开发了一个简单的基于 Java 套接字的 Web 服务器,它可以读取来自客户端的请求。对于客户端,我使用带有以下代码的 Apache HttpClient 库:

当我执行代码时,服务器从客户端获取此请求:

还行吧。但现在我想通过 HTTP-POST 发送一些数据,所以我扩展了我的代码:

如果我现在执行代码,则不会进入服务器。如果我删除“httppost.setEntity(testString);” 一切都会像开头描述的那样工作。所以问题一定出在“httppost.setEntity(testString);”。

有谁知道为什么当我使用“setEntity”时什么都没有发送?有没有其他方法可以传输数据?我已经尝试过这个例子: http: //svn.apache.org/repos/asf/httpcomponents/httpclient/branches/4.0.x/httpclient/src/examples/org/apache/http/examples/client/ClientFormLogin.java但是没有成功。

也许问题出在我的网络服务器上。成功请求的响应应该是什么样的?我使用此消息:

0 投票
3 回答
24295 浏览

maven-2 - 如何在 Maven 中使用 httpclient 4.1.x

httpclient 4.0 版在我的 pom.xml 中工作:

...但版本 > 4.0 不编译:

错误:

知道如何在 Maven 中使用 httpclient 4.1 吗?