Java 获取当前环境Windows/Linux 真实IP

public static String getCurrentIp() {
        try {
            Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces();
            while (networkInterfaces.hasMoreElements()) {
                NetworkInterface ni = (NetworkInterface) networkInterfaces.nextElement();
                Enumeration<InetAddress> nias = ni.getInetAddresses();
                while (nias.hasMoreElements()) {
                    InetAddress ia = (InetAddress) nias.nextElement();
                    if (!ia.isLinkLocalAddress() && !ia.isLoopbackAddress() && ia instanceof Inet4Address) {
                        return ia.toString();
                    }
                }
            }
        } catch (SocketException e) {
            System.out.println("Fail to get currentIp.");
        }
        return null;
    }

当前IP

原文地址:https://www.cnblogs.com/codegod/p/8488350.html

时间: 2024-10-11 16:30:13

Java 获取当前环境Windows/Linux 真实IP的相关文章

java通过jni方式获取硬盘序列号(windows,linux)

linux系统java通过jni方式获取硬盘序列号 http://blog.csdn.net/starter110/article/details/8186788 使用jni在windows下读取硬盘序列号 http://www.iflym.com/index.php/code/201109070001.html 通常做java程序的开发人员都想过想要通过某种手段来保护自己的程序.一般的方式是通过授权,采取软件授权的方式.这个时间就需要读取客户机器上的一些关键信息,比如硬盘序列号,网卡,cpu信

java工具类,在Windows,Linux系统获取电脑的MAC地址、本地IP、电脑名

package com.cloudssaas.util; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.InetAddress; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.rege

Java获取服务器环境

package com.rapido.utils; import java.util.Properties; /** * 获取服务器环境信息 * @author X-rapido * */ public class SystemDataUtil { public static Properties getSystemProperties() { Properties props = System.getProperties(); // 系统属性 return props; } public st

Java获取本地环境所有网卡及每个网卡的所有网络配置

一个网卡(不太标准,应该叫做一个网络接口,一个网卡是可以拥有多个网络接口的,如SoftAP)拥有一套网络配置:ip地址,子网掩码,网关,dns等等. 自java 1.6开始,提供了访问网络配置的一些接口: java.net.NetworkInterface(自1.4开始) 此类表示一个由名称和分配给此接口的 IP 地址列表组成的网络接口.它用于标识加入多播组的本地接口. 接口通常是按名称(如 "le0")区分的. java.net.InterfaceAddress(自1.6开始) 此类

Java 获取网络重定向文件的真实URL

其实Java 使用HttpURLConnection下载的的时候,会自动下载重定向后的文件,但是我们无法获知目标文件的真实文件名,文件类型,用下面的方法可以得到真实的URL,下面是一个YOUKU视频的例子. import java.net.HttpURLConnection; import java.net.URL; import java.util.ArrayList; public class Test2 { public static void main(String[] args) th

nginx 获取源IP 获取经过N层Nginx转发的访问来源真实IP

1. nginx 配置文件中获取源IP的配置项 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; #一般的web服务器用这个 X-Real-IP 来获取源IP proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; #如果nginx 服务器是作为反向代理服务器的,则这个配置项是必须的:否则看不到源IP 2. nginx 代理服务器的模块ngi

如何通过httpclient获取访问域名的真实ip

需求:由于目标网站cdn节点很多需要获取到访问当次是哪个ip.1.实现接口HttpConnectionManager新加实现类A,直接复制SimpleHttpConnectionManager的类内容.2.A类增加方法public Socket getSocket() {return this.httpConnection.getSocket();}3.为httpClient指定HttpConnectionManager 方法为 httpClient 指定httpClient.setHttpCo

nginx使用用户真实IP做hash(解决经过CND后ip_hash失效问题)

如题所示,我在以前的一篇文章(PS:https://www.zifangsky.cn/611.html)中已经介绍过了,在nginx中常用的有以下四种负载均衡的算法,分别是:round-robin.ip-hash.least-connected和weighted.当然在实际生产中或许使用最多的就是ip-hash了,一般会这样使用: upstream h5 {    ip_hash;    server 192.168.100.104:9080;    server 192.168.100.105

java获取本机器的IP(linux和windows)

[toc] 描述 由于项目是部署在集群上的,需要项目能够自动采集各机器的信息.java.net.InetAddress.getLocalHost()来获取本地机器的IP和机器名信息,但发现在linux下并不能获取到机器的实际IP和机器名信息(获取到的是localhost/127.0.0.1). 方案描述 根据系统类型(linux.windows)来通过不同的方式获取本地机器的IP信息. 获取Windows下的IP java.net.InetAddress.getLocalHost().getHo