从HttpServletRequest中获取服务器ip
时间: 2023-11-25 07:38:17 浏览: 526
要从HttpServletRequest中获取服务器IP,可以使用以下代码:
```java
String ipAddress = request.getHeader("X-FORWARDED-FOR");
if (ipAddress == null) {
ipAddress = request.getRemoteAddr();
}
```
这段代码首先尝试从请求头中获取IP地址,因为有些代理和负载均衡器可能会将客户端的真实IP地址存储在X-Forwarded-For头部中。如果X-Forwarded-For头部不存在,那么直接从HttpServletRequest对象的getRemoteAddr()方法获取IP地址。
需要注意的是,getRemoteAddr()方法返回的是客户端的IP地址,而不是服务器的IP地址。如果你想获取服务器的IP地址,可以使用InetAddress类来获取本机的IP地址。
```java
try {
InetAddress inetAddress = InetAddress.getLocalHost();
String serverIP = inetAddress.getHostAddress();
System.out.println("Server IP address: " + serverIP);
} catch (UnknownHostException e) {
e.printStackTrace();
}
```
这段代码使用InetAddress.getLocalHost()方法获取本机的InetAddress对象,然后通过getHostAddress()方法获取服务器的IP地址。
阅读全文