以前把程式发布的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的负载均衡(轮询),等都可正常运行。
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;
}
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;
}
分享到:
相关推荐
Java获取Linux服务器上的IP操作 Java获取Linux服务器上的IP操作是Java开发中的一项重要任务。然而,在Linux服务器上获取IP地址却存在一些问题。在本文中,我们将详细介绍Java获取Linux服务器上的IP操作,包括Linux...
throw new Exception("无法获取公网IP地址,服务器返回错误代码:" + responseCode); } } } ``` 在这个示例中,`fetchExternalIPAddress` 方法通过发送一个HTTP GET请求到 `checkip.amazonaws.com` 服务来获取...
在Java编程环境中,获取本地IP地址是一个常见的需求,特别是在服务器端开发中,这可能涉及到网络通信、服务定位等多种场景。以下是一些关于如何在Java中获取本地IP的关键知识点: 1. **网络接口(Network Interface...
总结来说,Java中获取服务器IP地址和MAC地址主要依赖于`java.net`包中的`InetAddress`和`NetworkInterface`类。通过枚举网络接口和其对应的IP地址,我们可以获取到服务器的网络信息。对于多网卡环境,需要遍历所有...
在Java编程中,获取IP地址是一项常见的任务,特别是在网络编程和服务器开发中。这个"java IP地址工具类"是为了解决这个问题而设计的。它提供了便捷的方法来获取和处理IP地址,尤其对于获取客户端IP地址在Web应用中至...
这段代码首先尝试获取本地主机的IP地址,然后遍历所有网络接口来查找主网卡(例如`eth0`)的IP地址。 ### 结论 在实际开发中,获取客户端的IP地址是常见的需求,而获取MAC地址则较为罕见且可能存在一定的法律风险...
在本文中,我们将深入探讨如何使用Java编程语言创建一个Swing界面应用,该应用能够修改本地计算机的IP地址。这个程序允许用户存储多个预设IP地址,并方便地在它们之间切换,同时也支持删除不需要的IP配置。我们将会...
#### 四、解析多级代理情况下的IP获取 当请求经过多级代理时,`X-Forwarded-For`字段可能会包含多个IP地址,例如:“192.168.1.110,192.168.1.120,192.168.1.130,192.168.1.100”。在这种情况下,我们需要从中提取...
Java 读取服务器IP工具类,该工具用于读取项目运行的ip地址,内网IP,请求IP,开箱即用。
在Java中获取服务器的基本信息是开发人员经常遇到的需求,这些信息包括但不限于CPU使用情况、内存利用率、磁盘空间以及网络状态等。以下是一些使用Java获取服务器基本信息的关键知识点: 1. **第三方库Sigar**: ...
### Java 获取客户端 IP 地址 在 Web 开发中,获取客户端 IP 地址是一项非常重要的功能,尤其是在需要记录用户活动、实现地理位置定位或者进行安全验证等场景下。Java 提供了多种方式来获取客户端的 IP 地址,其中...
#### 方法二:多级反向代理环境下的真实IP获取 在更复杂的情况下,如存在多级反向代理,`X-Forwarded-For`可能包含一系列的IP地址。此时,正确的做法是从这一串IP地址中选取第一个非`unknown`的有效IP作为客户端的...
java获取Centos7服务器网卡ip 子网掩码 默认网关 DNS 同时设置网卡 及 重启网卡参考
java代码获取本地ip 一个分装好的小的工具类
### 使用Java获取访问者真实IP地址 在现代Web开发中,获取客户端的真实IP地址是非常重要的。这不仅有助于网站统计分析,还可以用于安全控制、地域限制等功能。然而,在使用如Apache、Squid等反向代理服务器的情况下...
我们将基于提供的"Java代码测试IP是否为真实IP"这一主题,讨论相关技术点,以及如何构建一个完整的Java工程来实现这一功能。 首先,我们需要理解IP地址的基本概念。IP地址(Internet Protocol Address)是互联网上...
### Java 获取外网 IP 的实现方法 在现代网络应用中,获取本机的外网 IP 地址是一项常见的需求。例如,在服务器管理、网络安全、分布式系统等场景中,经常需要知道自己的公共 IP 地址。Java 作为一种广泛使用的编程...
### Java获取IP地址知识点解析 在本篇文章中,我们将深入探讨如何使用Java语言来获取IP地址。这是一项在网络编程中非常基础且重要的技能,能够帮助开发者了解客户端或服务器的网络位置信息。以下是对给定文件中的...
总结来说,Java中获取服务器IP地址的关键在于理解`InetAddress`类以及相关的网络接口操作,同时注意区分本地IP、服务器IP、域名解析的IP等不同情况。在实际应用中,确保对各种网络环境的适应性和处理异常的能力也是...