首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何为apache HttpClient设置全局http代理设置

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

Stack Overflow用户
提问于 2017-01-23 16:04:23
回答 1查看 7.6K关注 0票数 3

在ApacheCommons4.3及以后的版本中,您需要在HttpRequest级别注入您的HTTP设置--但不需要全局地在HttpClient本身中注入:

代码语言:javascript
运行
复制
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桥)中,您可以这样创建您的客户机:

代码语言:javascript
运行
复制
J4pClient j4pClient = new J4pClient("http://localhost:8080/jolokia", httpClient);

在这种情况下,是否有指定HTTP代理的方法?http.proxyHost系统属性似乎被忽略了,我希望避免在HttpClientHttpRequest周围创建一个完整的包装器类,以便在请求创建过程中注入设置。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-23 16:32:10

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

代码语言:javascript
运行
复制
HttpClientBuilder.create().useSystemProperties().build();

请参阅http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/impl/client/HttpClientBuilder.html

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41810582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档