azure - 面对原因:java.net.UnknownHostException:login.microsoftonline.com
问题描述
我在springboot应用程序Url中用restTemplate调用微软Azureurl:-https://login.microsoftonline.com/{{tenantId}}/oauth2/v2.0/token
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
MultiValueMap<String, String> map = new LinkedMultiValueMap<>();
map.add("grant_type","client_credentials");
map.add("client_id","xxxxxxxxxxxxxxxxxxxxxxxxxx");
map.add("client_secret","xxxxxxxxxxxxxxxxxx");
map.add("scope","https://graph.microsoft.com/.default");
HttpEntity<MultiValueMap<String, String>> entity = new HttpEntity<>(map, headers);
ResponseEntity<String> response =
restTemplate.exchange("https://login.microsoftonline.com/xxxxxxxxxx-xxxxxx-c666dbeda42c\n/oauth2/v2.0/token",
HttpMethod.POST,
entity,
String.class);
if (response.getStatusCode() == HttpStatus.OK) {
System.out.println("Request Successful");
} else {
System.out.println("Request Failed");
}
在运行上面的示例调用以连接 Azure 时,我们得到了以下异常: Caused by: java.net.UnknownHostException: login.microsoftonline.com
后来在家里尝试,没有代理连接到互联网,然后能够成功获得输出而没有这个“UnknownHostException”错误。那么如何解决这个问题。
解决方案
您的网址似乎不是规范https://login.microsoftonline.com/xxxxxxxxxx-xxxxxx-c666dbeda42c\n/oauth2/v2.0/token
,请尝试将其更改为:https://login.microsoftonline.com/xxxxxxxxxx-xxxxxx-c666dbeda42c/oauth2/v2.0/token
。删除\n
.
推荐阅读
- assembly - 汇编编程 - WinAsm 与 Visual Studio 2017
- ansible - 用两个任务(包括条件)包装 ansible 任务
- javascript - 如何计算添加到 html div 的 ajax 数据
- html - 为什么 align/justify-self 不适用于某些网格元素?
- python - datetime.datetime.strptime() 使用可变输入长度
- python - Python 正则表达式与一个运算符或另一个,但不是两者
- java - Java:具有长期消费者的并发队列和短期生产者的处理保证
- javascript - 使用加密进行加密时防止增加文件
- android - BottomNavigationBar 图标不显示
- c++ - 如何从 ECS 中的模板方法中获取组件?