How can I determine the IP of my router/gateway in Java?

前端 未结 16 2234
无人及你
无人及你 2020-11-27 06:43

How can I determine the IP of my router/gateway in Java? I can get my IP easily enough. I can get my internet IP using a service on a website. But how can I determine my gat

16条回答
  •  青春惊慌失措
    2020-11-27 07:11

    This Version connects to www.whatismyip.com, reads the content of the site and searches via regular expressions the ip adress and prints it to the cmd. Its a little improvement of MosheElishas Code

    import java.io.BufferedReader;  
    import java.io.IOException;  
    import java.io.InputStreamReader; 
    import java.net.URL;  
    import java.util.regex.Matcher;  
    import java.util.regex.Pattern;  
    
    public class Main {
    
        public static void main(String[] args) {
            BufferedReader buffer = null;
            try {
                URL url = new URL(
                        "http://www.whatismyip.com/tools/ip-address-lookup.asp");
                InputStreamReader in = new InputStreamReader(url.openStream());
                buffer = new BufferedReader(in);
                String line = buffer.readLine();
                Pattern pattern = Pattern
                        .compile("(.*)value=\"(\\d+).(\\d+).(\\d+).(\\d+)\"(.*)");
                Matcher matcher;
                while (line != null) {
                    matcher = pattern.matcher(line);
                    if (matcher.matches()) {
                        line = matcher.group(2) + "." + matcher.group(3) + "."
                                + matcher.group(4) + "." + matcher.group(5);
                        System.out.println(line);
                    }
                    line = buffer.readLine();
                }
            } catch (IOException e) {
                e.printStackTrace();
    
            } finally {
                try {
                    if (buffer != null) {
                        buffer.close();
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
    
    import java.io.BufferedReader;  
    import java.io.IOException;  
    import java.io.InputStreamReader; 
    import java.net.URL;  
    import java.util.regex.Matcher;  
    import java.util.regex.Pattern;  
    
    public class Main {
    
        public static void main(String[] args) {
            BufferedReader buffer = null;
            try {
                URL url = new URL(
                        "http://www.whatismyip.com/tools/ip-address-lookup.asp");
                InputStreamReader in = new InputStreamReader(url.openStream());
                buffer = new BufferedReader(in);
                String line = buffer.readLine();
                Pattern pattern = Pattern
                        .compile("(.*)value=\"(\\d+).(\\d+).(\\d+).(\\d+)\"(.*)");
                Matcher matcher;
                while (line != null) {
                    matcher = pattern.matcher(line);
                    if (matcher.matches()) {
                        line = matcher.group(2) + "." + matcher.group(3) + "."
                                + matcher.group(4) + "." + matcher.group(5);
                        System.out.println(line);
                    }
                    line = buffer.readLine();
                }
            } catch (IOException e) {
                e.printStackTrace();
    
            } finally {
                try {
                    if (buffer != null) {
                        buffer.close();
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
    

提交回复
热议问题