在ApacheCommons4.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
周围创建一个完整的包装器类,以便在请求创建过程中注入设置。
发布于 2017-01-23 16:32:10
您可以使用HttpClientBuilder。它将为http.proxyHost、http.proxyPort、http.nonProxyHosts引入系统属性。
HttpClientBuilder.create().useSystemProperties().build();
https://stackoverflow.com/questions/41810582
复制相似问题