如何获取计算机的IP(Java / Selenium)?

时间:2013-07-26 20:54:54

标签: java selenium ip

到目前为止,我执行以下操作:

driver.get("http://www.whatismyip.com/");
String myIP = driver.findElement(By.id("greenip")).getText();
System.out.println(myIP);

还有更好的方法吗?

(PS:我试过this solution但是NetworkInterface提供了多个IP,另一方面InetAddress.getLocalHost().getHostAddress()提供了错误的IP。)

1 个答案:

答案 0 :(得分:1)

事情是没有像我的IP这样的事情。您的计算机可以有多个接口,每个接口可以有多个IP。所以我真的认为你想进入它。您所能做的就是尝试使用Web API获取外部IP地址。这是java中的代码,实际上只是在这些网站的帮助下在互联网上寻找你的IP

    public static String getIpAddress() 
    { 
    URL myIP;
    try {
        myIP = new URL("http://api.externalip.net/ip/");

        BufferedReader in = new BufferedReader(
                new InputStreamReader(myIP.openStream())
                );
        return in.readLine();
    } catch (Exception e) 
    {
        try 
        {
            myIP = new URL("http://myip.dnsomatic.com/");

            BufferedReader in = new BufferedReader(
                    new InputStreamReader(myIP.openStream())
                    );
            return in.readLine();
        } catch (Exception e1) 
        {
            try {
                myIP = new URL("http://icanhazip.com/");

                BufferedReader in = new BufferedReader(
                        new InputStreamReader(myIP.openStream())
                        );
                return in.readLine();
            } catch (Exception e2) {
                e2.printStackTrace(); 
            }
        }
    }

return null;
}

现在用这个你可以从互联网上获取你的IP,但这又是你的外部IP