一、什麼是IP地址
IP地址,全稱為Internet Protocol Address,即Internet協議地址。它是網絡上分配給每個連接在互聯網上的設備的唯一地址。IP地址由32位二進制數所組成,分為4個8位二進制數,用點號(.)隔開。
例如,192.168.1.1就是一個典型的IP地址。
二、如何獲取本機IP地址
在Java中,獲取本機IP地址有很多種方式。下面我們介紹兩種常用的方式。
1. 使用InetAddress類
InetAddress類表示Internet地址,它提供了獲取本機IP地址的常用方法getLocalHost()。
import java.net.InetAddress; public class Main { public static void main(String[] args) { try { InetAddress address = InetAddress.getLocalHost(); System.out.println("本機IP地址:" + address.getHostAddress()); } catch (Exception e) { e.printStackTrace(); } } }
2. 使用NetworkInterface類
NetworkInterface類表示一個網絡接口,它提供了獲取網絡接口信息的方法getNetworkInterfaces()。
import java.net.InetAddress; import java.net.NetworkInterface; import java.util.Enumeration; public class Main { public static void main(String[] args) { try { 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()) { System.out.println(networkInterface.getName() + " " + address.getHostAddress()); } } } } catch (Exception e) { e.printStackTrace(); } } }
三、如何獲取遠程主機IP地址
在Java中,獲取遠程主機IP地址同樣有很多種方式。下面我們介紹一種常用的方式:使用Socket類。
Socket類提供了客戶端訪問服務器端的功能,其中getInetAddress()方法可以獲取遠程主機IP地址。
import java.net.InetAddress; import java.net.Socket; public class Main { public static void main(String[] args) { try { Socket socket = new Socket("www.baidu.com", 80); InetAddress address = socket.getInetAddress(); System.out.println("遠程主機IP地址:" + address.getHostAddress()); socket.close(); } catch (Exception e) { e.printStackTrace(); } } }
四、總結
Java獲取本機IP地址主要使用InetAddress類和NetworkInterface類,獲取遠程主機IP地址主要使用Socket類的getInetAddress()方法。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/291049.html