public String getRequestIp(HttpServletRequest request) {
String ipString = request.getHeader("X-Forwarded-For");
if (StringUtils.isBlank(ipString) || "unknown".equalsIgnoreCase(ipString)) {
ipString = request.getHeader("Proxy-Client-IP");
}
if (StringUtils.isBlank(ipString) || "unknown".equalsIgnoreCase(ipString)) {
ipString = request.getHeader("WL-Proxy-Client-IP");
}
if (StringUtils.isBlank(ipString) || "unknown".equalsIgnoreCase(ipString)) {
ipString = request.getRemoteAddr();
}
// 如果是本机 获取本机ip
if ("0:0:0:0:0:0:0:1".equals(ipString)) {
try {
InetAddress address = InetAddress.getLocalHost();
ipString = address.getHostAddress();
} catch (UnknownHostException e) {
return null;
}
}
return ipString;
}
Java 获取客户端ip
最新推荐文章于 2024-07-22 14:15:06 发布