java - 尝试调用公共 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 请求。
解决方案
在 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代理
选择手动代理配置>>填写您的代理详细信息
推荐阅读
- r - 如何使用文本框在 R 中读取 excel
- mysql - 是否可以在 UPDATE 的 WHERE 部分使用 Max()
- python - tf.distribute.Strategy:TypeError:无法转换类型的对象
张量 - openssl - 使用 openssl s_client 命令与谷歌邮件连接
- css - SVG 变换作为样式表属性(与 CSS 变换相反)
- javascript - ReactJS 更新或删除 arrayList 中的项目
- java - 使用 jOOQ 从 Postgres 获取的流不返回类的结果
- excel - 为什么 Range(x) 选择了一个不应该在我的范围内的单元格?
- mapbox - 地理编码时如何获取城市名称?
- node.js - Node/React 客户端代理不工作,componentDidMount() 不获取数据