import java.io.*;
import java.net.*;
public class SockTest {
public static void main(String[] args) {
try {
InetAddress ipv4 = InetAddress.getLocalHost();
String nativeip = ipv4.getHostAddress().toString(); // Get local IP Address
System.out.println("Local IP Address: " + nativeip);
}
catch (Exception e) {
e.printStackTrace();
}
}}
import java.net.*;
public class SockTest {
public static void main(String[] args) {
try {
InetAddress ipv4 = InetAddress.getLocalHost();
String nativeip = ipv4.getHostAddress().toString(); // Get local IP Address
System.out.println("Local IP Address: " + nativeip);
}
catch (Exception e) {
e.printStackTrace();
}
}}
java SockTest
Local IP Address: 220.250.64.25
这是本机运行的结果,让我跟困惑。。
我的机器在内网,而且外网ip也不是这个,不知道为什么就得出了这么个哭笑不得的地址。
请问是不是我的方法用错了,或者还有没有更好的方法获取本地ip?
另:我还试过这个方法InetAddress ipv4 = InetAddress.getByName("localhost");
String nativeip = ipv4.getHostAddress().toString();
但得到的结果是127.0.0.1
{
String url = "www.baidu.com"; //任意一个网站的域名
InetAddress ip = null;
try{
ip = InetAddress.getByName(url); //得到对应的IP地址
System.out.println("域名" + url + "对应的IP地址是:" + ip.toString());
}catch (UnknownHostException e) {
System.out.println("输入的URL有错!");
}
}