问题标签 [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 回答
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 回答
1704 浏览

android - 关于 Android 中的 HttpGet/HttpPost/*Delete/PUT 方法,setParams() 和 setEntity() 有什么区别?

我正在尝试设置请求参数,一些教程说要使用 setentity,但是 HttpDelete 不存在 setentity。如何获得一个统一的方法来处理所有 4 种请求方法?谢谢!

0 投票
0 回答
506 浏览

java - 多个 SSL 主机名验证器

在我的应用程序中,我必须连接到不同的 HTTPS 服务器,并且每个服务器必须有不同的验证器(我检查组织,CN)。

我的 SSL 验证程序如下所示:

我在应用程序的不同部分有 2 个 HTTP 客户端实例,在这两个部分中,我都实例化了验证程序并以下列方式附加:

我在 2 个地方调用此代码,并且 SOME_CN 和 SOME_ORG 每个地方都有不同的值。

我注意到,在我创建了 HttpClient 的第二个实例并设置了与该实例对应的验证器之后,HttpClient 的第一个实例开始使用来自第二个实例的验证器。似乎验证者是某种全球性的。

有可能以某种方式对每个不同的 HttpClient 实例使用不同的验证器吗?

0 投票
2 回答
903 浏览

java - 如何使用 Apache HTTP 组件发布集合

是否可以使用带有映射到集合的参数的 Apache HTTP 组件发布请求?

这个问题以前被问过(这里:如何使用 HttpComponents 发布数组参数)。没有提供任何答案,因为用户应该“切换 [ed] 到 httpclient 3.x,并且所有工作 [ed] 都像魅力一样”。

我不想这样做,因为 httpclient 已经报废,并由 HttpComponents 成功。

先感谢您。

0 投票
2 回答
3344 浏览

java - 如何为基于 Apache HttpComponents 的服务器添加 Keep-Alive 标头?

仅当连接将是持久的时,如何使用 Apache HttpComponents 将“Connection: Keep-Alive”和“Keep-Alive: timeout=x, max=y”标头添加到响应中?

如果 HttpComponents 决定这个连接不会是持久的,它会在我给出响应后添加一个“连接:关闭”标题。在这种情况下,我不想要 Keep-Alive 标头。

为什么我这样做:

标准行为是 HttpComponents 不更改持久连接的响应中的任何内容,并为非持久连接添加“连接:关闭”。这在大多数情况下都很有效。

我想要一个 Keep-Alive 标头,因为基于标准 java.net.HttpURLConnection 的客户端将在 5 秒不活动后超时并丢弃连接,除非服务器的先前响应中有 Keep-Alive 标头。我想使用 Keep-Alive 来定义超过 5 秒的超时。

0 投票
1 回答
3435 浏览

java - java- 需要显示使用新 HTTP 客户端 (v4.x) 的基本示例

我正在努力将应用程序中的 HTTP 客户端从 Commons HTTP Client v3.x 更改为新的 HTTP Client v4.x。我进行了搜索,但找不到以下场景的好例子——你能给我指出一篇关于新 HTTP 客户端的好教程/文章(类似于 java.net.url 上 SO 上的优秀社区 Wiki 文章)吗?

(1) 设置 Cookie Policy

(2) 设置 Http Proxy - 定义主机/域以及用户名/密码

目前,这是通过以下方式完成的——

(3) Auth 凭据在旧的 http 客户端中定义,代码如下——

在新的 HTTP 客户端中执行此操作的方法是什么?

(4) 声明一个新的 HTTP Method 变量,并为这个变量指定方法——如 GET 或 POST

目前用于上述的代码——

(5) 将请求头添加到方法中 -

例如,要将用户代理设置为默认用户代理,使用以下代码 -

0 投票
1 回答
5749 浏览

java - java-使用apache http客户端时出现未知主机异常

我正在尝试对网站发出简单的 GET 请求,但我收到了未知的主机异常。

下面给出的是我的代码 -

0 投票
1 回答
2481 浏览

java - 提供文件内容的字节流时定义文件体

我正在尝试使用 apache http 客户端 v4.x。

对于特定情况,我必须提出多部分表单请求...

使用以下代码在 java 中发出多部分表单请求——

就我而言,我有一个文件体的字节流,

现在我想将此文件(字节流)添加到多部分实体中,以便我可以发出多部分发布请求......我该怎么做?

0 投票
1 回答
255 浏览

java - java- apache http 客户端查询关于作为多部分发布请求的一部分提交文件

我正在尝试使用最新的 Apache HTTP 客户端 (v4.x) 发送多部分 POST 请求 - 文档提供的示例代码提供了以下代码示例(稍作修改)以发出 POST 请求 -

我感到困惑的是,如果我要添加多个文件,那么在代码中

第一个字符串代表什么?它是作为多部分帖子的一部分发送的文件的名称吗?