gpt4 book ai didi

java - 如何在 Jersey 和 Apache Http 客户端中使用代理身份验证?

转载 作者:行者123 更新时间:2023-11-30 02:57:11 25 4
gpt4 key购买 nike

我正在使用带有 ApacheConnection Provider 的 Jersey 客户端。

    Builder builder = RequestConfig.custom().setConnectTimeout(timeout);
List<Proxy> proxies = ProxyManager.getInstance().select(baseUrl.toURI());
if (useProxy) {
...
builder.setProxy(new HttpHost(proxyUri.getHost(), proxyUri.getPort()));
}
RequestConfig requestConfig = builder.build();

final ClientConfig clientConfig = new ClientConfig();
clientConfig.property(ApacheClientProperties.REQUEST_CONFIG, requestConfig);
clientConfig.connectorProvider(new ApacheConnectorProvider());

client = ClientBuilder.newBuilder().withConfig(clientConfig).sslContext(getSSLContext()).build();
client.property(ClientProperties.CONNECT_TIMEOUT, 5000);

但是如何添加代理身份验证的用户名和密码?

似乎 apache 连接提供程序不使用标准的 java 代理选择器机制。

最佳答案

我终于自己找到了解决方案。不幸的是,这没有记录在任何地方:

HttpHost proxyhost = new HttpHost(host,pw);

CredentialsProvider credsProvider = new BasicCredentialsProvider();

credsProvider.setCredentials(new AuthScope(proxyhost), new UsernamePasswordCredentials(user, pw));
clientConfig.property(ApacheClientProperties.CREDENTIALS_PROVIDER, credsProvider);

builder.setProxy(proxyhost);

关于java - 如何在 Jersey 和 Apache Http 客户端中使用代理身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36909101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com