项目场景:
最近在对接百度语音合成技术(官方文档 https://ai.baidu.com/ai-doc/SPEECH/Pk38y8m7k)时,将代码放到服务器上就会报错。
问题描述
在调用百度APIhttps://aip.baidubce.com/oauth/2.0/token
,获取Access Token 时出现错误:
java.net.UnknownHostException
原因分析:
java.net.UnknownHostException
从字面上看是请求目标的服务连不上,网络不通。
可能原因:
- 服务器没网,调不到公网域名,无法解析出IP,从而无法识别host,导致无法连接;
- 网络端口映射做了策略,调用不到自己路由的域名,必须调内网IP;
于是,我在服务器ping了一下www.baidu.com
,发现服务器没连上网。
解决方案:
我的服务器没网原因,是因为没有配置DNS,所以加上DNS就行了
方法一、修改/etc/resolv.conf
vi /etc/resolv.conf
nameserver 114.114.114.114
修改后会立即生效,不需做任何额外处理!故,比较推荐此方法。
方法二、修改 /etc/sysconfig/network-scripts/ifcfg-eth0文件
4cc4921d7d9e49ccb3185809724dbf9b.png
这种办法还要重启网卡才生效,重启网卡可以用以下命令:
server network restart
创作不易,关注、点赞就是对作者最大的鼓励,欢迎在下方评论留言
欢迎关注微信公众号:键指JAVA,定期分享Java知识,一起学习,共同成长。
网友评论