如何在Java中获得当前的IP?

时间:2014-04-06 18:17:28

标签: java

我使用此代码获取当前的IP:

public String getIpAddress() throws NullPointerException,
        MalformedURLException, IOException {
    URL whatismyip = new URL("http://checkip.amazonaws.com");
    BufferedReader in = null;
    try {
        in = new BufferedReader(new InputStreamReader(
                whatismyip.openStream()));
        String ip = in.readLine();
        return ip;
    } finally {
        if (in != null) {
            try {
                in.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

}

但返回值不正确 我的代码有什么问题?

1 个答案:

答案 0 :(得分:0)

您可以在此主题上使用 Will的代码Getting the 'external' IP address in Java

他使用亚马逊服务来获取他的“外部IP”。

这是他的代码:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;

public class IpChecker {

    public static String getIp() throws Exception {
        URL whatismyip = new URL("http://checkip.amazonaws.com");
        BufferedReader in = null;
        try {
            in = new BufferedReader(new InputStreamReader(
                    whatismyip.openStream()));
            String ip = in.readLine();
            return ip;
        } finally {
            if (in != null) {
                try {
                    in.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

所有积分都归于威尔。