首页 > 解决方案 > 尝试调用公共 API 时发生“java.net.UnknownHostException”

问题描述

我试图向 API 发出一个简单的请求。我正在使用 Rest 模板来调用该 API。我可以使用 PostMan 访问该 API。但是在尝试从 JAVA 调用时,我遇到了“ java.net.UnknownHostException ”问题。

那是因为代理问题吗?如果是这样,如何在 java 代码中添加代理。这是我的简单代码,

@GetMapping("/getallmakes") 
public ResponseEntity<String> getUser() { 
String url = USER_API; 
return restTemplate.getForEntity(url, String.class);
} 

另外,建议我如何在不使用 JAVA 代理的情况下发出 API 请求。

标签: javaspring-boot

解决方案


在 PROXY_SERVER_HOST 和 PROXY_SERVER_PORT 中填写您的代理详细信息

Proxy proxy = new Proxy(Type.HTTP, new InetSocketAddress(PROXY_SERVER_HOST, PROXY_SERVER_PORT));
SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
requestFactory.setProxy(proxy);

使用 RequestFactory 并定义 RestTemplate inc 代理详细信息

RestTemplate restTemplate = new RestTemplate(requestFactory);

使用这个自定义 RestTemplate

String response = restTemplate.getForEntity(url, String.class);

如果你想通过代理从本地机器调试

转到文件>>设置>>在搜索栏中键入“代理”>>单击HTTP代理

选择手动代理配置>>填写您的代理详细信息

代理设置


推荐阅读