Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 代理后面的Apache Fluent HttpClient导致未知主机_Java_Proxy_Apache Httpclient 4.x - Fatal编程技术网

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

Java 代理后面的Apache Fluent HttpClient导致未知主机,java,proxy,apache-httpclient-4.x,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(pr

我正在尝试将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解析器(或者根本不使用它,因为它只需要连接到代理服务器)。

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

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