java获取本机的真实IP,并非127.0.0.1这种;实验了一下在Windows和Linux都可以用。

代码如下:

public static String getIpAddr(HttpServletRequest request){try{Enumeration<NetworkInterface> allNetInterfaces = NetworkInterface.getNetworkInterfaces();while (allNetInterfaces.hasMoreElements()){NetworkInterface netInterface = (NetworkInterface) allNetInterfaces.nextElement();Enumeration<InetAddress> addresses = netInterface.getInetAddresses();while (addresses.hasMoreElements()){InetAddress ip = (InetAddress) addresses.nextElement();if (ip != null&& ip instanceof Inet4Address&& !ip.isLoopbackAddress() //loopback地址即本机地址,IPv4的loopback范围是127.0.0.0 ~ 127.255.255.255&& ip.getHostAddress().indexOf(":")==-1){System.out.println("本机的IP = " + ip.getHostAddress());return ip.getHostAddress();}}}}catch(Exception e){e.printStackTrace();}return null;}

测试结果

其中序号1为使用上述代码,序号2为之前的方法。

java获取本机IP地址,非127.0.0.1相关推荐

  1. 用java获取本机IP地址

    在网上找了几个用java获取本机IP地址的代码,发现都少都有些不完美,自己整理了一下.突然之间很想把自己的IP地址给获取了,虽然用系统自带命令可以得到,但自己想写一个程序获取一下,到网上搜索了一下ja ...

  2. java获取本机ip地址_代码片段:获取系统所有IP

    问题 在Windows系统中,可以支持多个网卡,比如有线的以太网卡,无线网卡,虚拟网卡等.如下图所示: 每一张网卡由不同的类型,也可以分别被用户启用或禁用. 对于单独一张给定的网卡,其IP地址可以是D ...

  3. 1.Java获取本机IP地址,主机名,域名

    1.如何在程序中获取本机的IP地址,主机名以及域名呢? 在java中,我们可以利用java.net.InetAddress这个类来实现. InetAddress 类提供了操作 IP 地址的各种方法.该 ...

  4. java 本机局域网真实ip_Java获取本机ip地址,并扫描本机所在局域网的电脑设备

    Java获取本机IP地址,并根据IP地址的网段,扫描局域网里面的电脑设备; import java.io.IOException; import java.net.Inet4Address; impo ...

  5. Java 网络实例一(获取指定主机的IP地址、查看端口是否已使用、获取本机ip地址及主机名、获取远程文件大小)

    获取指定主机的IP地址 import java.net.InetAddress; import java.net.UnknownHostException;public class GetIP {pu ...

  6. Java 程序获取本机 ip 地址

    Java程序获取本机ip地址: host_ip_list = new ArrayList<String>(); try {for (NetworkInterface networkInte ...

  7. java获取客户端的IP地址工具类

    java获取客户端的IP地址工具类 import java.net.InetAddress; import java.net.UnknownHostException;import javax.ser ...

  8. Go 学习笔记(79)— Go 标准库 net(获取本机IP地址)

    1. 获取本机 IP 地址 package mainimport ("fmt""net" )// 获取本机网卡IP func getLocalIP() (ipv ...

  9. qt获取本机全部ipv4_QT5下获取本机IP地址、计算机名、网络连接名、MAC地址、子网掩码、广播地址...

    获取主机名称 /* * 名称:get_localmachine_name * 功能:获取本机机器名称 * 参数:no * 返回:QString */ QString CafesClient::get_ ...

  10. linux编程获取本机IP地址的三种方法

    这是一项不太清晰而且没有多大意义的工作.一个原因是网络地址的设置非常灵活而且都是允许用户进行个性化设置的,比如一台计算机上可以有多块物理网卡或者虚拟网卡,一个网卡上可以绑定多个IP地址,用户可以为网卡 ...

最新文章

  1. 用 Label 控制 Service 的位置 - 每天5分钟玩转 Docker 容器技术(106)
  2. MS SQL SERVER 2005 用于Web开发的安装注意事项
  3. java jsonp_java结合使用Jsonp的例子
  4. jenkins 项目启动日志_jenkins 修改启动文件即jdk路径、log路径和切换jenkins用户
  5. 《C++ Primer 5th》笔记(9 / 19):顺序容器
  6. 月薪11万招数据工程师,看到要求我傻眼了!
  7. 【Kafka】Kafka如何开启SSL 控制台消费与生产 代码消费与生产
  8. 算法导论答案网Solutions to Introduction to Algorithms Third Edition_开源免费完整
  9. 20年前的人机大战,IBM“深蓝”耍了花招
  10. pytorch错误——Torch not compiled with CUDA enabled
  11. 我对TCP CDG拥塞控制算法的改进和优化
  12. 一文读懂支付通道背后的江湖!——下
  13. 关于STM32 GPIO配置基础概括
  14. 响应式网站建设有什么优势?
  15. CDH6.3整合Carbondata
  16. AURIX TC3xx Safety Mannaul
  17. win7下查看计算机ID,win7系统快速查看硬件ID的操作方法
  18. Python代码实现图像语义分割
  19. 算法设计与分析--最优二叉搜索树(Python)
  20. qt for mac工程设置相关

热门文章

  1. word 导出编辑ftl_word文档如何变为ftl word文档转化成ftl文件
  2. 010Editor逆向及注册机实现
  3. PCIe Gen4 Equlization失败掉速到Gen3的问题排查
  4. js继承的几种实现方式
  5. java ftps上传_java – 使用FTPS将文件从android传输到服务器
  6. emmagee 性能工具梳理
  7. 2022张宇考研基础30讲 第六讲 中值定理
  8. 记小米公司的一次「测试开发工程师」面试
  9. 易接SDK流程记录以及AndroidManifest解析(无干货)
  10. C++ 虚函数和虚函数表