微信支付linux下java.net.UnknownHostException: api.mch.weixin.qq.com

这个错误是因为服务器无法识别api.weixin.qq.com这个域名
解决方法:
1、查看你的服务器能否ping通外网,不过不行说明你的网络出了问题
2、在确保可以ping通外网的情况下,分析你的服务器是不是不支持域名解析,也就是说你的服务器只能ping IP地址,
不能ping www.baidu.com 提示无法解析,那你就需要给服务器设置域名解析功能,方法:vi /etc/resolv.conf 在nameserver最前面一行加
nameserver 8.8.8.8
保存后重启网络服务 service network restart
再ping api.weixin.qq.com 应该就没问题了

如果以上方法都做了,都无法解决,那么还有一种方法:
就是给服务器配置域名IP对应地址
vi /etc/resolv.conf
在其中添加一条:
123.151.71.149 api.weixin.qq.com
保存退出
然后ping api.weixin.qq.com 就能ping 通了

或者修改/etc/hosts 文件 加入
123.151.71.149 api.mch.weixin.qq.com

报错信息:

java.net.UnknownHostException: api.weixin.qq.com
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:175)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:384)
at java.net.Socket.connect(Socket.java:546)
at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:584)
at sun.net.NetworkClient.doConnect(NetworkClient.java:173)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:409)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:530)
at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:275)
at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:332)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:876)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:979)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl
qrcode_for_gh_bf7a27ade681_258.jpg

作者: 小柒

出处: https://blog.52itstyle.com

分享是快乐的,也见证了个人成长历程,文章大多都是工作经验总结以及平时学习积累,基于自身认知不足之处在所难免,也请大家指正,共同进步。

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 如有问题, 可邮件(345849402@qq.com)咨询。