如何获取本地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/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

发表回复

登录后才能评论