代理后面的 Apache Fluent HttpClient 导致未知主机

Krz*_*soń 0 java proxy apache-httpclient-4.x

我正在尝试使用带有代理的 Apache Fluent 客户端,但我正在获取UnknownHostException目标主机。为什么httpclient尝试直接使用dns而不是使用代理来解析主机?

到目前为止,这是我的代码:

String response = Executor.newInstance()
    .auth(new HttpHost(proxyHost, proxyPort), "user", "pass")
    .authPreemptiveProxy(new HttpHost(proxyHost, proxyPort))
    .execute(Request.Get("http://example.com")).returnContent().asString();
Run Code Online (Sandbox Code Playgroud)

我需要以某种方式通知 httpclient 使用基于代理的 dns 解析器(或者根本不使用它,因为它需要的只是连接到代理服务器)。

ok2*_*k2c 5

设置身份验证凭据还不够。尝试使用Request#viaProxy通过代理执行请求

    String response = Executor.newInstance()
            .auth(new HttpHost(proxyHost, proxyPort), "user", "pass")
            .authPreemptiveProxy(new HttpHost(proxyHost, proxyPort))
            .execute(Request.Get("http://example.com").viaProxy(new HttpHost(proxyHost, proxyPort))).returnContent().asString();
Run Code Online (Sandbox Code Playgroud)