获取ip地址
public HttpServletRequest getRequest() {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
return request;
}
public String getRequestIp() {
HttpServletRequest request = getRequest();
String requestIp = request.getHeader("x-forwarded-for");
if (requestIp == null || requestIp.isEmpty() || "unknown".equalsIgnoreCase(requestIp)) {
requestIp = request.getHeader("X-Real-IP");
}
if (requestIp == null || requestIp.isEmpty() || "unknown".equalsIgnoreCase(requestIp)) {
requestIp = request.getHeader("Proxy-Client-IP");
}
if (requestIp == null || requestIp.isEmpty() || "unknown".equalsIgnoreCase(requestIp)) {
requestIp = request.getHeader("WL-Proxy-Client-IP");
}
if (requestIp == null || requestIp.isEmpty() || "unknown".equalsIgnoreCase(requestIp)) {
requestIp = request.getHeader("HTTP_CLIENT_IP");
}
if (requestIp == null || requestIp.isEmpty() || "unknown".equalsIgnoreCase(requestIp)) {
requestIp = request.getHeader("HTTP_X_FORWARDED_FOR");
}
if (requestIp == null || requestIp.isEmpty() || "unknown".equalsIgnoreCase(requestIp)) {
requestIp = request.getRemoteAddr();
}
if (requestIp == null || requestIp.isEmpty() || "unknown".equalsIgnoreCase(requestIp)) {
requestIp = request.getRemoteHost();
}
return requestIp;
}