代码之家  ›  专栏  ›  技术社区  ›  Krzysztof Krasoń

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

  •  0
  • Krzysztof Krasoń  · 技术社区  · 8 年前

    我正在尝试使用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();
    

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

    1 回复  |  直到 8 年前
        1
  •  4
  •   ok2c    8 年前

    设置身份验证凭据不够。尝试使用 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();