如何獲取本地IP地址?

在網絡通信中,IP地址是非常重要的標識符,它能夠唯一標識一個網絡上的主機。在Java程序中,如果需要獲取本機的IP地址,有以下幾種方式。

一、通過InetAddress獲取本機IP地址

Java提供了一個InetAddress類,可以很方便地獲取本機IP地址。示例代碼如下:


import java.net.InetAddress;
public class GetLocalIPAddress {
	public static void main(String[] args) {
		try {
			InetAddress address = InetAddress.getLocalHost();
			System.out.println("本機IP地址:" + address.getHostAddress());
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

執行上述程序後,輸出結果為:


本機IP地址:10.1.2.3

需要注意的是,InetAddress.getLocalHost()方法有可能會返回127.0.0.1,這是因為它是返回當前主機的loopback地址。如果想要獲得非loopback地址,則需要其他的方法來獲取。

二、通過NetworkInterface獲取本機IP地址

另一種獲取本機IP地址的方式是通過NetworkInterface類。該類提供了一個getNetworkInterfaces()方法,返回一個枚舉對象,包含當前機器上所有的網絡接口。可以通過該接口獲取到本機IP地址。示例代碼如下:


import java.net.*;
import java.util.Enumeration;

public class GetLocalIPAddress {
    public static void main(String[] args) {
        try {
            Enumeration interfaces = NetworkInterface.getNetworkInterfaces();

            while (interfaces.hasMoreElements()) {
                NetworkInterface ni = interfaces.nextElement();
                Enumeration addresses = ni.getInetAddresses();

                while (addresses.hasMoreElements()) {
                    InetAddress address = addresses.nextElement();

                    if (!address.isLinkLocalAddress() && !address.isLoopbackAddress()
                            && address instanceof Inet4Address) {
                        System.out.println("本機IP地址:" + address.getHostAddress());
                    }
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

執行上述程序後,輸出結果為:


本機IP地址:10.1.2.3

該方法可以獲取到本機的所有IP地址,而不只是一個loopback地址。

三、總結

本文介紹了兩種獲取本機IP地址的方法,並給出了詳細代碼示例。使用這些方法,可以很方便地獲取本機IP地址,方便網絡編程的開發。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/195604.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-02 20:35
下一篇 2024-12-02 20:35

相關推薦

  • cmd看地址

    本文將從多個方面詳細闡述cmd看地址,包括如何查看本機IP地址、如何查看路由器IP、如何查看DNS服務器IP等等。 一、查看本機IP地址 要查看本機IP地址,首先需要打開cmd窗口…

    編程 2025-04-29
  • 尚硅谷官網地址用法介紹

    尚硅谷是國內一家領先的技術培訓機構,提供了眾多IT職業的培訓,包括Java、Python、大數據、前端、人工智能等方向。其官網地址為http://www.atguigu.com/。…

    編程 2025-04-29
  • Centos7配置靜態ip

    本文將詳細闡述如何在Centos7系統中配置靜態ip。 一、查看網絡接口 在配置靜態ip之前,我們首先需要查看系統中的網絡接口,以確定我們需要配置的網卡是哪一個。 ifconfig…

    編程 2025-04-29
  • Python檢測IP連通

    Python是一門強大的編程語言,常用於網絡開發、數據分析等領域。IP地址是網絡通信的基礎,在網絡通信中,有時需要檢測IP地址是否連通。下面將從多個方面介紹Python檢測IP連通…

    編程 2025-04-28
  • Idea2022變更Git地址

    本文將從以下幾個方面對Idea2022變更Git地址進行詳細闡述: 一、GitHub上修改Git倉庫地址 1、登錄GitHub,找到需要修改的Git倉庫 2、在代碼頁面點擊右上角的…

    編程 2025-04-28
  • Treck TCP/IP Stack 輸入驗證錯誤漏洞CVE-2020-11901解析

    本文將對Treck TCP/IP Stack 輸入驗證錯誤漏洞CVE-2020-11901進行詳細解析,並提供相關代碼示例。 一、漏洞背景 Treck TCP/IP Stack是一…

    編程 2025-04-27
  • electron-egg打包後請求地址錯誤解決方法用法介紹

    本文將從多個方面對electron-egg打包後請求地址錯誤進行詳細闡述,並給出解決方法。 一、electron-egg打包後請求地址錯誤的表現 在使用 electron-egg …

    編程 2025-04-27
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若服務器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • Python如何判斷IP地址合法性

    IP地址是網絡通信的基礎,因此判斷IP地址合法性是編程中常見的問題。Python作為一門強大的編程語言,提供了多種方法來判斷IP地址的合法性。 一、判斷IP地址格式是否正確 IP地…

    編程 2025-04-27
  • Python處理“該請求的地址無效”的解決方法

    本文將從以下幾個方面為大家詳細闡述在python中處理“該請求的地址無效”的解決方法。 一、檢查URL地址是否正確 當我們在使用Python發送網絡請求時,如果URL地址不正確,就…

    編程 2025-04-27

發表回復

登錄後才能評論