HttpServletRequest request
= ((ServletRequestAttributes
) RequestContextHolder
.getRequestAttributes())
.getRequest();
String ipAdrress
= IpAdrressUtil
.getIpAdrress(request
);
package zy
.latte
.common
.util
;
import javax
.servlet
.http
.HttpServletRequest
;
public class IpAdrressUtil {
public static String
getIpAdrress(HttpServletRequest request
) {
String ip
= null
;
String ipAddresses
= request
.getHeader("X-Forwarded-For");
String unknown
= "unknown";
if (ipAddresses
== null
|| ipAddresses
.length() == 0 || unknown
.equalsIgnoreCase(ipAddresses
)) {
ipAddresses
= request
.getHeader("Proxy-Client-IP");
}
if (ipAddresses
== null
|| ipAddresses
.length() == 0 || unknown
.equalsIgnoreCase(ipAddresses
)) {
ipAddresses
= request
.getHeader("WL-Proxy-Client-IP");
}
if (ipAddresses
== null
|| ipAddresses
.length() == 0 || unknown
.equalsIgnoreCase(ipAddresses
)) {
ipAddresses
= request
.getHeader("HTTP_CLIENT_IP");
}
if (ipAddresses
== null
|| ipAddresses
.length() == 0 || unknown
.equalsIgnoreCase(ipAddresses
)) {
ipAddresses
= request
.getHeader("X-Real-IP");
}
if (ipAddresses
!= null
&& ipAddresses
.length() != 0) {
ip
= ipAddresses
.split(",")[0];
}
if (ip
== null
|| ip
.length() == 0 || unknown
.equalsIgnoreCase(ipAddresses
)) {
ip
= request
.getRemoteAddr();
}
return ip
;
}
}
获取请求用户的ip地址
也可以使用 @Autowired private HttpServletRequest request;
String addr
= request
.getRemoteAddr();
获取请求的地址