Java HttpClientErrorException:401未经授权的基本身份验证
我正在尝试使用基本身份验证获取url。我设置用户/密码如下所示。同样的凭证在邮递员中工作Java HttpClientErrorException:401未经授权的基本身份验证,java,spring,basic-authentication,Java,Spring,Basic Authentication,我正在尝试使用基本身份验证获取url。我设置用户/密码如下所示。同样的凭证在邮递员中工作 String RELATIVE_IDENTITY_URL = "http://my_url/api/core/v3/people/email/abc@example.com"; RestTemplate restTemplate; Credentials credentials; //1. Set credentials credentials = new Usernam
String RELATIVE_IDENTITY_URL = "http://my_url/api/core/v3/people/email/abc@example.com";
RestTemplate restTemplate;
Credentials credentials;
//1. Set credentials
credentials = new UsernamePasswordCredentials("admin", "admin");
CredentialsProvider credsProvider = new BasicCredentialsProvider();
credsProvider.setCredentials( AuthScope.ANY, credentials);
//2. Bind credentialsProvider to httpClient
HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
httpClientBuilder.setDefaultCredentialsProvider(credsProvider);
CloseableHttpClient httpClient = httpClientBuilder.build();
HttpComponentsClientHttpRequestFactory factory = new
HttpComponentsClientHttpRequestFactory(httpClient);
//3. create restTemplate
restTemplate = new RestTemplate();
restTemplate.setRequestFactory(factory);
//4. restTemplate execute
String url = RELATIVE_IDENTITY_URL;
String xml = restTemplate.getForObject(url,String.class);
System.out.println("Done");
我认为凭证设置不正确。这里怎么了。?
错误:
您在rest模板执行中缺少auth标头和设置凭据。您在rest模板执行中缺少auth标头和设置凭据。当您发出请求时,您如何附加凭据和设置auth标头?@MikeTung:我刚才没有添加这一点。我真的认为这将是从上面的设置凭据部分。当我通过标题设置它时,它就工作了。非常感谢当你提出请求时,你是如何附加凭据的?你是在设置身份验证头吗?@MikeTung:我刚刚错过了添加。我真的认为这将是从上面的设置凭据部分。当我通过标题设置它时,它就工作了。多谢
Exception in thread "main" org.springframework.web.client.HttpClientErrorException: 401 Unauthorized
at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:91)
at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:667)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:620)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:580)
at org.springframework.web.client.RestTemplate.getForObject(RestTemplate.java:287)
at com.src.AuthRestService.main(AuthRestService.java:85)