public class IPUtil {
private static final Logger logger = Logger.getLogger(IPUtil.class);
/**
* 获取IP地址
*
* @param request
* @return
*/
public static String getIP(HttpServletRequest request){
String ip = "";
try{
ip = request.getHeader("x-forwarded-for");
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)){
ip = request.getHeader("Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)){
ip = request.getHeader("WL-Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)){
ip = request.getRemoteAddr();
}
} catch (Exception e){
}
String[] ipArr = ip.split(",");
if(ipArr.length > 1){
ip = ipArr[0];
}
logger.info("|ip|" + ip);
return ip;
}
/**
* 获取IP地址
*
* @param request
* @return
*/
public static String getIP(HttpServletRequest request , String functionName){
String ip = null;
try{
ip = request.getHeader("x-forwarded-for");
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)){
ip = request.getHeader("Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)){
ip = request.getHeader("WL-Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)){
ip = request.getRemoteAddr();
}
} catch (Exception e){
}
String[] ipArr = ip.split(",");
if(ipArr.length > 1){
ip = ipArr[0];
}
logger.info(functionName + ip);
return ip;