一、获取本机IP地址
Java可以通过InetAddress类获取本机的IP地址,InetAddress是Java中表示IP地址的类,它可以创建InetAddress对象表示指定主机名对应的IP地址或表示IP地址字符串对应的IP地址。
示例代码如下:
import java.net.InetAddress;
public class GetLocalIpAddress {
public static void main(String[] args) throws Exception{
InetAddress IP=InetAddress.getLocalHost();
System.out.println("本机IP地址为:"+IP.getHostAddress());
}
}
运行结果如下:
本机IP地址为:192.168.1.1
二、获取指定域名的IP地址
Java可以通过InetAddress类获取指定域名的IP地址,通过域名解析得到对应的IP地址。
示例代码如下:
import java.net.InetAddress;
public class GetIpAddress {
public static void main(String[] args) throws Exception{
InetAddress address = InetAddress.getByName("www.baidu.com");
System.out.println("百度IP地址为:" + address.getHostAddress());
}
}
运行结果如下:
百度IP地址为:104.193.88.74
三、获取本机所有IP地址
一个主机可能有多个IP地址,可以通过NetworkInterface类获取该主机所有与网络接口相关的IP地址。
示例代码如下:
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.util.Enumeration;
public class GetAllIpAddress {
public static void main(String[] args) throws Exception{
Enumeration interfaces = NetworkInterface.getNetworkInterfaces();
while(interfaces.hasMoreElements()){
NetworkInterface networkInterface = interfaces.nextElement();
Enumeration addresses = networkInterface.getInetAddresses();
while(addresses.hasMoreElements()){
InetAddress address = addresses.nextElement();
if (!address.isLinkLocalAddress() && !address.isLoopbackAddress() && address.isSiteLocalAddress()){
System.out.println(networkInterface.getName() + " " + address.getHostAddress());
}
}
}
}
}
运行结果如下:
eth0 192.168.1.1 eth1 10.10.10.1
四、总结
通过InetAddress类和NetworkInterface类,在Java中可以方便地获取本机IP地址、指定域名的IP地址、以及本机所有的IP地址。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/309584.html
微信扫一扫
支付宝扫一扫