Java里面获取当前服务器的IP地址
生活随笔
收集整理的這篇文章主要介紹了
Java里面获取当前服务器的IP地址
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
java中獲取當前服務器地址主要使用到InetAddress這個類
public static void main(String[] args) {try {//用 getLocalHost() 方法創建的InetAddress的對象InetAddress address = InetAddress.getLocalHost();System.out.println(address.getHostName());//主機名System.out.println(address.getCanonicalHostName());//主機別名System.out.println(address.getHostAddress());//獲取IP地址System.out.println("===============");//用域名創建 InetAddress對象InetAddress address1 = InetAddress.getByName("www.wodexiangce.cn");//獲取的是該網站的ip地址,如果我們所有的請求都通過nginx的,所以這里獲取到的其實是nginx服務器的IP地址System.out.println(address1.getHostName());//www.wodexiangce.cnSystem.out.println(address1.getCanonicalHostName());//124.237.121.122System.out.println(address1.getHostAddress());//124.237.121.122System.out.println("===============");//用IP地址創建InetAddress對象InetAddress address2 = InetAddress.getByName("220.181.111.188");System.out.println(address2.getHostName());//220.181.111.188System.out.println(address2.getCanonicalHostName());//220.181.111.188System.out.println(address2.getHostAddress());//220.181.111.188System.out.println("===============");//根據主機名返回其可能的所有InetAddress對象InetAddress[] addresses = InetAddress.getAllByName("www.baidu.com");for (InetAddress addr : addresses) {System.out.println(addr);//www.baidu.com/220.181.111.188//www.baidu.com/220.181.112.244 }} catch (UnknownHostException e) {e.printStackTrace();}}如果使用了反向代理,這種獲取方式顯然是不準確的,我們采用的方法是新建一個java類,里面配的是當前服務器的IP地址(也就是說這個類在每個節點服務器上部署的是不同的),程序里用的話直接獲取這個工具類就可以了,雖然方法有點笨,但是解決問題了。
public class CommonServerIP {/*** 這個類主要是保存常用的一些固定的服務器IP*/public static String CURRENT_SERVER="124.237.121.46";//當前服務器的ip地址 }?
總結
以上是生活随笔為你收集整理的Java里面获取当前服务器的IP地址的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: @interface CTDataFac
- 下一篇: 【ActiveMQ】消息生产者自动注入报