2017-04-05 3 views
0

ich auf eine Website über einen Proxy verbinden bin versucht, aber ich erhalte eine Fehlermeldunghttp-Komponente nicht zu Proxy verbinden

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

Mein Code zum Beispiel sehr nahe ist, dass Apache bietet, https://hc.apache.org/httpcomponents-client-ga/examples.html (siehe das Proxy-Authentifizierungsbeispiel). Ich mache definitiv etwas falsch mit der Authentifizierung, aber ... was?

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

Antwort

0

Das Problem scheint zu sein, dass Sie new SystemDefaultCredentialsProvider() setzen, wenn Sie das HTTP-Client aufbauen. Ich denke, Sie sollten credsProvider setzen, zu dem Sie gerade Proxy-Benutzer und Passwort hinzugefügt haben.