44 lines
1.2 KiB
Java
44 lines
1.2 KiB
Java
package com.ruoyi.common.utils;
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
/**
|
|
* 获取IP方法
|
|
*
|
|
* @author ruoyi
|
|
*/
|
|
public class IpUtils
|
|
{
|
|
public static String getIpAddr(HttpServletRequest request)
|
|
{
|
|
if (request == null)
|
|
{
|
|
return "unknown";
|
|
}
|
|
String 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("X-Forwarded-For");
|
|
}
|
|
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.getHeader("X-Real-IP");
|
|
}
|
|
|
|
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip))
|
|
{
|
|
ip = request.getRemoteAddr();
|
|
}
|
|
|
|
return "0:0:0:0:0:0:0:1".equals(ip) ? "127.0.0.1" : ip;
|
|
}
|
|
}
|