java.net.UnknownHostException: www.xxx.com: Name or service not known的某种情况
我一般只记录不是网上给出的大众答案。很明显很多人搜到的结论是:修改服务器hosts文件:vi/etc/hosts添加记录行:127.0.0.1 www.xxx.com这只是把这个无法识别的域名映射到本地了,有点掩耳盗铃。我是真的需要访问这个www.xxx.com提供的接口,所以不能用改host解决。搜到的别的奇形怪状的解释我就不提了,我这里出现的问题是:这个www.xxx.com的接口提供者要求使
我一般只记录不是网上给出的大众答案。
很明显很多人搜到的结论是:
修改服务器hosts文件:
vi /etc/hosts
添加记录行:
127.0.0.1 www.xxx.com
这只是把这个无法识别的域名映射到本地了,有点掩耳盗铃。我是真的需要访问这个www.xxx.com提供的接口,所以不能用改host解决。
搜到的别的奇形怪状的解释我就不提了,我这里出现的问题是:
这个www.xxx.com的接口提供者要求使用https访问,并且给了我两个证书:Intermediate.crt和Root.crt。
我以为Root.crt证书没用,因为在导入的时候提示已存在,于是就没导入Root证书,仅仅导入了Intermediate证书。后来我导入了Root.crt就好了。
真是有点神奇。
导入证书的命令:
我把两个证书文件放在了服务器目录:/opt/java/Certs/
jdk目录是:/opt/java/jdk1.7.0_79
keytool -import -alias "SACServer" -keystore "/opt/java/jdk1.7.0_79/jre/lib/security/cacerts" -file "/opt/java/Certs/Intermediate.crt"
keytool -import -alias "RootSACServer" -keystore "/opt/java/jdk1.7.0_79/jre/lib/security/cacerts" -file "/opt/java/Certs/Root.crt"
可以使用以下命令查看证书:
keytool -list -v -alias SACServer -keystore "/opt/java/jdk1.7.0_79/jre/lib/security/cacerts" -storepass changeit
keytool -list -v -alias RootSACServer -keystore "/opt/java/jdk1.7.0_79/jre/lib/security/cacerts" -storepass changeit
changeit是默认密码。
「智能机器人开发者大赛」官方平台,致力于为开发者和参赛选手提供赛事技术指导、行业标准解读及团队实战案例解析;聚焦智能机器人开发全栈技术闭环,助力开发者攻克技术瓶颈,促进软硬件集成、场景应用及商业化落地的深度研讨。 加入智能机器人开发者社区iRobot Developer,与全球极客并肩突破技术边界,定义机器人开发的未来范式!
更多推荐
所有评论(0)