Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.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 HttpClient设置全局http代理设置_Java_Apache Httpclient 4.x_Jolokia - Fatal编程技术网

Java 如何为apache HttpClient设置全局http代理设置

Java 如何为apache HttpClient设置全局http代理设置,java,apache-httpclient-4.x,jolokia,Java,Apache Httpclient 4.x,Jolokia,在Apache Commons 4.3及更高版本中,您需要在HttpRequest级别注入HTTP代理设置,但不能在HttpClient本身中全局注入: RequestConfig config = RequestConfig.custom().setProxy(proxy).build(); HttpGet httpget = new HttpGet("http://url"); httpget.setConfig(config); ... httpclient.execute(target

在Apache Commons 4.3及更高版本中,您需要在
HttpRequest
级别注入HTTP代理设置,但不能在
HttpClient
本身中全局注入:

RequestConfig config = RequestConfig.custom().setProxy(proxy).build();
HttpGet httpget = new HttpGet("http://url");
httpget.setConfig(config);
...

httpclient.execute(target, httpget);
问题是,在一些更高级的库中,通过传递定制的
HttpClient
实例进行配置但这不允许您访问API代码内部构建的
HttpRequest

例如,在Jolokia(一个JMX REST桥)中,您可以这样创建客户机:

J4pClient j4pClient = new J4pClient("http://localhost:8080/jolokia", httpClient);

在这种情况下,有没有办法指定HTTP代理?
http.proxyHost
系统属性似乎被忽略,我希望避免在
HttpClient
HttpRequest
周围创建一整层包装类,以在请求创建期间注入设置。

您可以使用HttpClientBuilder。它将拉入http.proxyHost、http.proxyPort、http.nonProxyHosts的系统属性

HttpClientBuilder.create().useSystemProperties().build();