当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《如何为apacheHttpClient设置全局http代理设置》经验,为你挑选了1个好方法。

在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实例来进行配置.但这并不能让您访问HttpRequestAPI代码内置的内容.

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

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

在这种情况下,有没有办法指定HTTP代理?该http.proxyHost系统属性似乎忽略了,我想,以避免围绕创建包装类的全层HttpClient,并HttpRequest请求创建过程中注入的设置.



1> 小智..:

您可以使用HttpClientBuilder.它将引入http.proxyHost,http.proxyPort,http.nonProxyHosts的系统属性.

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

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

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有