RestTemplate restTemplate = new RestTemplate();
//认证的账号和密码
String authentication = account+":"+pwd;
HttpHeaders headers = new HttpHeaders();
//在请求头信息中携带Basic认证信息(这里才是实际Basic认证传递用户名密码的方式)
headers.set("authorization", "Basic " + Base64.getEncoder().encodeToString(authentication.getBytes()));
MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter();
mappingJackson2HttpMessageConverter.setSupportedMediaTypes(Arrays.asList(MediaType.APPLICATION_JSON, MediaType.APPLICATION_OCTET_STREAM));
restTemplate.getMessageConverters().add(mappingJackson2HttpMessageConverter);
//设置编码格式
MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8");
headers.setContentType(type);
//过滤掉账号认证失败的时候抛出的401异常
restTemplate.setErrorHandler(new DefaultResponseErrorHandler(){
@Override
public void handleError(ClientHttpResponse response) throws IOException{
if(response.getRawStatusCode() != 401){
super.handleError(response);
}
}
});
//发送请求
ResponseEntity<byte[]> response = restTemplate.exchange(url,HttpMethod.GET,new HttpEntity<byte[]>(headers),byte[].class);
结束----------------------------------------------------------------------------------------------------------------------------------------------------