android bug:java.net.UnknowenHostExecption:Unable to resolve host "网址":No address associated with ho

问题现象

  • 请求接口返回异常
    在这里插入图片描述

问题原因

造成上面个现象的的原因大概有一下几个;

  • 1.手机网络没有打开
  • 2.Manifest没有配置权限
  • 3.服务器异常

问题原因1和2经过排查没有问题,那么只有第三种原因。经过排查发现我们服务器是分布式服务器,过一段时间就会切换服务器,如下:
在这里插入图片描述
这也就是问题所在,服务器IP切换,但是接口请求的还是之前的服务器IP这样就会报错。

解决方法

问题原因的1和2我们客户端可以解决,但是问题原因3可以找架构或者运营解决。
希望这篇博客可以对你有所帮助。

ps:附上查看服务器ip的api,如下:

    /**
     * 获取服务器IP地址
     *
     * @return
     */
    @SuppressWarnings("unchecked")
    public static String getServerIp() {
        String SERVER_IP = "";
        try {
//            InetAddress address = InetAddress.getLocalHost();//获取的是本地的IP地址
//            String hostAddress = address.getHostAddress();
            InetAddress address = InetAddress.getByName("域名");//获取的是该网站的ip地址
            SERVER_IP = address.getHostAddress();

        } catch (UnknownHostException e) {
            e.printStackTrace();
        }
        return SERVER_IP;
    }

你可能感兴趣的:(android-bug之路)