如何使用 Apache HttpClient 4.3.4 通过代理测试与服务器 SSL 端口的连接?

How to test connection to server SSL port via proxy using Apache HttpClient 4.3.4?

我正在尝试验证通过代理服务器与 HTTP 服务器的 SSL 连接。在我的例子中,我有 4 条信息,全部由用户提供,我想明确验证:目标主机、目标端口、代理主机、代理端口。我宁愿不发出实际的 HTTP 请求来进行此验证,因为这需要另外 2 条信息:请求方法和路径(即 "GET /")。我真的很想能够使用 HttpClient 库,因为它支持 NTLM 代理身份验证。

我想我想要的是获得发送到代理服务器的 CONNECT 请求的响应,因为它只需要我拥有的 4 条信息(加上任何代理凭据)。然而,这似乎是一个隐式请求,其结果对库客户端不可用(除非它 returns 一个 407 状态代码)。有什么方法可以显式触发 CONNECT 请求吗?

您可以使用 Apache HttpClient 附带的 ProxyClient。它正是这样做的。