Java获取当前服务器的IP地址

geek1234 117 0

java中获取当前服务器地址主要使用到InetAddress这个类

	try {
            //用 getLocalHost() 方法创建的InetAddress的对象
            InetAddress address = InetAddress.getLocalHost();
            System.out.println("主机名:" + address.getHostName());//主机名
            System.out.println("主机别名:" + address.getCanonicalHostName());//主机别名
            System.out.println("主机IP:" + address.getHostAddress());//获取IP地址
            System.out.println("===============");
            
            //用域名创建 InetAddress对象
            InetAddress address1 = InetAddress.getByName("www.itviki.com");
            //获取的是该网站的ip地址,如果我们所有的请求都通过nginx的,所以这里获取到的其实是nginx服务器的IP地址
            System.out.println("主机名:" + address1.getHostName());//www.itviki.com
            System.out.println("主机别名:" +address1.getCanonicalHostName());//139.196.95.184
            System.out.println("主机IP:" + address1.getHostAddress());//139.196.95.184
            System.out.println("===============");
            
            //用IP地址创建InetAddress对象
            InetAddress address2 = InetAddress.getByName("139.196.95.184");
            System.out.println(address2.getHostName());//139.196.95.184
            System.out.println(address2.getCanonicalHostName());//139.196.95.184
            System.out.println(address2.getHostAddress());//139.196.95.184
            System.out.println("===============");
            
            //根据主机名返回其可能的所有InetAddress对象
            InetAddress[] addresses = InetAddress.getAllByName("www.baidu.com");
            for (InetAddress addr : addresses) {
                System.out.println(addr);
                //www.baidu.com/115.239.210.27
                //www.baidu.com/115.239.211.112
            }
        } catch (UnknownHostException e) {
            e.printStackTrace();
        }
如果使用了反向代理,这种获取方式显然是不准确的,我们采用的方法是新建一个java类,里面配的是当前服务器的IP地址(也就是说这个类在每个节点服务器上部署的是不同的),程序里用的话直接获取这个工具类就可以了。
public class CommonServerIP {
	
	 /**
     * 这个类主要是保存常用的一些固定的服务器IP
     */
     public static String CURRENT_SERVER = "192.168.1.1";//当前服务器的ip地址
     
}

打赏
发表评论 取消回复
表情 图片 链接 代码

分享
微信
微博
QQ