`

Java 获取服务器IP,本地IP

    博客分类:
  • java
阅读更多

以前把程式发布的Server IP都写成一个IP-Config 文件中。 为了避免发布程式每次去更改IP-Config ,或是在不同Server上发布程式更改IP-Config。决定把IP-Config 的MXL中的信息融入到JAVA程式中。即自动获取取服务器IP。看了很多function,比如

 

String serverIP = ServletActionContext.getRequest().getServerName(); 

 

String serverIP  = request.getLocalAddr();

 

等方法,获取的都是127.0.0.1/loaclhost这样让人无奈的地址,比较推荐以下两个function,简单易懂:而且做过测试,在Apache反向代理,多Server的负载均衡(轮询),等都可正常运行。

 

获取服务器IP

 public String  getServerIp(){
    	try {
			Enumeration netInterfaces = NetworkInterface.getNetworkInterfaces();
			InetAddress ip = null;
			while (netInterfaces.hasMoreElements()) {
				NetworkInterface ni = (NetworkInterface) netInterfaces
						.nextElement();
				ip = (InetAddress) ni.getInetAddresses().nextElement();
				SERVER_IP = ip.getHostAddress();
				if (!ip.isSiteLocalAddress() && !ip.isLoopbackAddress()
						&& ip.getHostAddress().indexOf(":") == -1) {
					SERVER_IP = ip.getHostAddress();
					break;
				} else {
					ip = null;
				}
			}
		} catch (SocketException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
    
      return SERVER_IP;
    }

 

 获取本地IP

    方法一:

public static String getLocalIP(){   
		InetAddress addr = null;   
		            try {
						addr = InetAddress.getLocalHost();
					} catch (UnknownHostException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}   
		        
		        byte[] ipAddr = addr.getAddress();   
		        String ipAddrStr = "";   
		        for (int i = 0; i < ipAddr.length; i++) {   
		            if (i > 0) {   
		                ipAddrStr += ".";   
		            }   
		            ipAddrStr += ipAddr[i] & 0xFF;   
		        }   
		        //System.out.println(ipAddrStr);   
		                return ipAddrStr;   
		}  

  方法二:

public static String getHostIp(){  
		InetAddress addr = null;
        try {
            addr = InetAddress.getLocalHost();
        } catch (UnknownHostException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        if(null == addr){  
            return null;  
        }  
        String ip = addr.getHostAddress(); //get the ip address  
        return ip;  
    }

 

分享到:
评论

相关推荐

    java获取linux服务器上的IP操作

    Java获取Linux服务器上的IP操作 Java获取Linux服务器上的IP操作是Java开发中的一项重要任务。然而,在Linux服务器上获取IP地址却存在一些问题。在本文中,我们将详细介绍Java获取Linux服务器上的IP操作,包括Linux...

    java获取公网IP

    throw new Exception("无法获取公网IP地址,服务器返回错误代码:" + responseCode); } } } ``` 在这个示例中,`fetchExternalIPAddress` 方法通过发送一个HTTP GET请求到 `checkip.amazonaws.com` 服务来获取...

    getlocalIp_获取本地IP工具java_服务器_

    在Java编程环境中,获取本地IP地址是一个常见的需求,特别是在服务器端开发中,这可能涉及到网络通信、服务定位等多种场景。以下是一些关于如何在Java中获取本地IP的关键知识点: 1. **网络接口(Network Interface...

    java编程实现获取服务器IP地址及MAC地址的方法

    总结来说,Java中获取服务器IP地址和MAC地址主要依赖于`java.net`包中的`InetAddress`和`NetworkInterface`类。通过枚举网络接口和其对应的IP地址,我们可以获取到服务器的网络信息。对于多网卡环境,需要遍历所有...

    java IP地址工具类,java IP地址获取,java获取客户端IP地址

    在Java编程中,获取IP地址是一项常见的任务,特别是在网络编程和服务器开发中。这个"java IP地址工具类"是为了解决这个问题而设计的。它提供了便捷的方法来获取和处理IP地址,尤其对于获取客户端IP地址在Web应用中至...

    java 获取客户端ip mac地址

    这段代码首先尝试获取本地主机的IP地址,然后遍历所有网络接口来查找主网卡(例如`eth0`)的IP地址。 ### 结论 在实际开发中,获取客户端的IP地址是常见的需求,而获取MAC地址则较为罕见且可能存在一定的法律风险...

    纯JAVA实现修改本地IP(swing界面版)

    在本文中,我们将深入探讨如何使用Java编程语言创建一个Swing界面应用,该应用能够修改本地计算机的IP地址。这个程序允许用户存储多个预设IP地址,并方便地在它们之间切换,同时也支持删除不需要的IP配置。我们将会...

    java非常强的获取客户端真实IP的两种方法

    #### 四、解析多级代理情况下的IP获取 当请求经过多级代理时,`X-Forwarded-For`字段可能会包含多个IP地址,例如:“192.168.1.110,192.168.1.120,192.168.1.130,192.168.1.100”。在这种情况下,我们需要从中提取...

    Java 读取服务器IP工具类

    Java 读取服务器IP工具类,该工具用于读取项目运行的ip地址,内网IP,请求IP,开箱即用。

    java获取服务器基本信息的方法

    在Java中获取服务器的基本信息是开发人员经常遇到的需求,这些信息包括但不限于CPU使用情况、内存利用率、磁盘空间以及网络状态等。以下是一些使用Java获取服务器基本信息的关键知识点: 1. **第三方库Sigar**: ...

    java获取客户端ip及mac地址

    ### Java 获取客户端 IP 地址 在 Web 开发中,获取客户端 IP 地址是一项非常重要的功能,尤其是在需要记录用户活动、实现地理位置定位或者进行安全验证等场景下。Java 提供了多种方式来获取客户端的 IP 地址,其中...

    Java获取客户端真实IP地址

    #### 方法二:多级反向代理环境下的真实IP获取 在更复杂的情况下,如存在多级反向代理,`X-Forwarded-For`可能包含一系列的IP地址。此时,正确的做法是从这一串IP地址中选取第一个非`unknown`的有效IP作为客户端的...

    java获取Centos7服务器网卡ip 子网掩码 默认网关 DNS 同时设置网卡 及 重启网卡参考

    java获取Centos7服务器网卡ip 子网掩码 默认网关 DNS 同时设置网卡 及 重启网卡参考

    获取电脑ip通过java代码

    java代码获取本地ip 一个分装好的小的工具类

    用Java来获取访问者真实的IP地址

    ### 使用Java获取访问者真实IP地址 在现代Web开发中,获取客户端的真实IP地址是非常重要的。这不仅有助于网站统计分析,还可以用于安全控制、地域限制等功能。然而,在使用如Apache、Squid等反向代理服务器的情况下...

    Java代码测试IP是否为真实IP

    我们将基于提供的"Java代码测试IP是否为真实IP"这一主题,讨论相关技术点,以及如何构建一个完整的Java工程来实现这一功能。 首先,我们需要理解IP地址的基本概念。IP地址(Internet Protocol Address)是互联网上...

    java获取外网ip

    ### Java 获取外网 IP 的实现方法 在现代网络应用中,获取本机的外网 IP 地址是一项常见的需求。例如,在服务器管理、网络安全、分布式系统等场景中,经常需要知道自己的公共 IP 地址。Java 作为一种广泛使用的编程...

    java获取ip地址

    ### Java获取IP地址知识点解析 在本篇文章中,我们将深入探讨如何使用Java语言来获取IP地址。这是一项在网络编程中非常基础且重要的技能,能够帮助开发者了解客户端或服务器的网络位置信息。以下是对给定文件中的...

    java中获取当前服务器的Ip地址的方法

    总结来说,Java中获取服务器IP地址的关键在于理解`InetAddress`类以及相关的网络接口操作,同时注意区分本地IP、服务器IP、域名解析的IP等不同情况。在实际应用中,确保对各种网络环境的适应性和处理异常的能力也是...

Global site tag (gtag.js) - Google Analytics