38 lines
918 B
Java
38 lines
918 B
Java
package com.rzyc.utils;
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
/**
|
|
* @author dong
|
|
* @date 2023-11-22 14:32
|
|
* @Version V1.0
|
|
*/
|
|
public class IpUtil {
|
|
|
|
/**
|
|
* 获取真实ip
|
|
* @author: hanguodong
|
|
* @date: 2023/6/6 22:12
|
|
* @param: [request]
|
|
* @return:
|
|
**/
|
|
public static String getIpAddr(HttpServletRequest request) {
|
|
String ip = request.getHeader("X-Real-IP");
|
|
if (ip != null && !"".equals(ip) && !"unknown".equalsIgnoreCase(ip)) {
|
|
return ip;
|
|
}
|
|
ip = request.getHeader("X-Forwarded-For");
|
|
if (ip != null && !"".equals(ip) && !"unknown".equalsIgnoreCase(ip)) {
|
|
int index = ip.indexOf(',');
|
|
if (index != -1) {
|
|
return ip.substring(0, index);
|
|
} else {
|
|
return ip;
|
|
}
|
|
} else {
|
|
return request.getRemoteAddr();
|
|
}
|
|
}
|
|
|
|
}
|