Java获取当前服务器IP

匿名 (未验证) 提交于 2019-12-02 21:53:52
package hope.ipaddress.demo;  import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.util.Enumeration;  /**  * 获取当前服务器IP  * @author hp  *  */ public class IpDemo {      /**      * @param args      */     public static void main(String[] args) {         System.out.println(getMyIp());     }      @SuppressWarnings("rawtypes")     public static String getMyIp() {         String localip = null;// 本地IP,如果没有配置外网IP则返回它         String netip = null;// 外网IP         try {             Enumeration netInterfaces = NetworkInterface.getNetworkInterfaces();             InetAddress ip = null;             boolean finded = false;// 是否找到外网IP             while (netInterfaces.hasMoreElements() && !finded) {                 NetworkInterface ni = (NetworkInterface) netInterfaces.nextElement();                 Enumeration address = ni.getInetAddresses();                 while (address.hasMoreElements()) {                     ip = (InetAddress) address.nextElement();                     if (!ip.isSiteLocalAddress() && !ip.isLoopbackAddress() && ip.getHostAddress().indexOf(":") == -1) {// 外网IP                         netip = ip.getHostAddress();                         finded = true;                         break;                     } else if (ip.isSiteLocalAddress() && !ip.isLoopbackAddress() && ip.getHostAddress().indexOf(":") == -1) {// 内网IP                         localip = ip.getHostAddress();                     }                 }             }         } catch (SocketException e) {             e.printStackTrace();         }          if (netip != null && !"".equals(netip)) {             return netip;         } else {             return localip;         }     }  } 

  

原文:https://www.cnblogs.com/remember-forget/p/9272199.html

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!