http组件无法连接到代理

http component can't connect to proxy

我正在尝试通过代理连接到网站,但出现错误

Error Code: 407 Proxy Authentication Required. Forefront TMG requires authorization to fulfill the request. Access to the Web Proxy filter is denied. (12209)

我的代码非常接近 apache 提供的示例,https://hc.apache.org/httpcomponents-client-ga/examples.html(请参阅代理身份验证示例)。我肯定在身份验证方面做错了,但是......什么?

 HttpHost proxy = new HttpHost("http-proxy", 80);
    HttpHost target = new HttpHost(url, 80);
    CredentialsProvider credsProvider = new BasicCredentialsProvider();
    credsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(user,password));


try (CloseableHttpClient client = HttpClientBuilder.create().setDefaultCredentialsProvider(new SystemDefaultCredentialsProvider()).build()) {

RequestConfig config = RequestConfig.custom().setProxy(proxy).build();
HttpGet httpget = new HttpGet("/basic-auth/user/passwd");
httpget.setConfig(config);

HttpResponse response = client.execute(target, httpget);
}

问题似乎是您在构建 HTTP 客户端时设置了 new SystemDefaultCredentialsProvider()。我猜你的意图是设置 credsProvider,你刚刚添加了代理用户和密码。