一、獲取本機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/zh-tw/n/309584.html
微信掃一掃
支付寶掃一掃