【发布时间】:2015-03-12 03:24:49
【问题描述】:
有人能指出权威的例子,演示使用代理和身份验证。
我的搜索揭示了不一定使用版本的各种示例。 4.3.6 和因此的混乱。
我遇到了以下两种方法。我不想为每个请求设置代理和凭据,因此想知道这里的最佳实践是什么?我还必须确保这适用于 Basic、Digest 和 NTLM 方案。
方法一:
// Create client and set credential provider
CloseableHttpClient httpclient = HttpClients.custom()
.setDefaultCredentialsProvider(credsProvider).build();
// Every request is set the with proxy settings
RequestConfig config = RequestConfig.custom()
.setProxy(proxy)
.build();
HttpGet httpget = new HttpGet("/");
httpget.setConfig(config);
方法二:
HttpHost proxyHost = new HttpHost(proxyServer, proxyPort);
DefaultProxyRoutePlanner routePlanner = new DefaultProxyRoutePlanner(proxyHost);
HttpClientBuilder clientBuilder = HttpClients.custom()
.setConnectionManager(connectionManager);
clientBuilder.setRoutePlanner(routePlanner);
client = clientBuilder.build();
// Where and how to set credentials as best practice ?
我肯定会为此受到一些质疑,但到目前为止,我想知道太多,因此寻求帮助。 谢谢,
【问题讨论】:
标签: apache http authentication proxy