2017-04-05 2 views
0

Je suis en train de se connecter à un site Web via un proxy, mais j'obtiens une erreurcomposant http ne peut pas se connecter à proxy

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

Mon code est très proche de l'exemple qu'Apache fournit, https://hc.apache.org/httpcomponents-client-ga/examples.html (voir l'exemple d'authentification du proxy). Je fais vraiment quelque chose de mal avec l'authentification, mais ... quoi?

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); 
} 

Répondre

0

Le problème semble être que vous définissez new SystemDefaultCredentialsProvider() lorsque vous construisez le client HTTP. Je suppose que votre intention était de définir credsProvider, à laquelle vous venez d'ajouter l'utilisateur proxy et mot de passe.