Java IP Address Get getLocalIp()

Here you can find the source of getLocalIp()

Description

get Local Ip

License

Open Source License

Declaration

public static String getLocalIp() 

Method Source Code

//package com.java2s;
/**/*w w w .  j av  a2  s .  c  o  m*/
 * Tencent is pleased to support the open source community by making Tars available.
 *
 * Copyright (C) 2016 THL A29 Limited, a Tencent company. All rights reserved.
 *
 * Licensed under the BSD 3-Clause License (the "License"); you may not use this file except
 * in compliance with the License. You may obtain a copy of the License at
 *
 * https://opensource.org/licenses/BSD-3-Clause
 *
 * Unless required by applicable law or agreed to in writing, software distributed
 * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations under the License.
 */

import java.net.InetAddress;
import java.net.NetworkInterface;

import java.util.Enumeration;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Main {
    public static String getLocalIp() {
        try {
            Pattern pattern = Pattern.compile("(172|10)\\.[0-9]+\\.[0-9]+\\.[0-9]+");
            Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();

            while (interfaces.hasMoreElements()) {
                NetworkInterface ni = interfaces.nextElement();
                Enumeration<InetAddress> en = ni.getInetAddresses();
                while (en.hasMoreElements()) {
                    InetAddress addr = en.nextElement();
                    String ip = addr.getHostAddress();
                    Matcher matcher = pattern.matcher(ip);
                    if (matcher.matches()) {
                        return ip;
                    }
                }
            }
            return "0.0.0.0";
        } catch (Throwable e) {
            e.printStackTrace();
            return "0.0.0.0";
        }
    }
}

Related

  1. getLocalIP()
  2. getLocalIp()
  3. getLocalIP()
  4. getLocalIp()
  5. getLocalIp()
  6. getLocalIP()
  7. getLocalIP()
  8. getLocalIP()
  9. getLocalIP()