import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang3.StringUtils;
/**
* @Title Snippet.java
* @Package com.pro.huanbao.common.utils
* @author wanpu_ly
* @dade 2017年12月11日 下午1:59:05
* @version V1.0 类说明: 获取请求的公网ip
*/
public class GetClientIpUtils {
public static String getIp(HttpServletRequest request) {
String ip = request.getHeader("X-Forwarded-For");
if (StringUtils.isNotEmpty(ip) && !"unKnown".equalsIgnoreCase(ip)) {
// 多次反向代理后会有多个ip值,第一个ip才是真实ip
int index = ip.indexOf(",");
if (index != -1) {
return ip.substring(0, index);
} else {
return ip;
}
}
ip = request.getHeader("X-Real-IP");
if (StringUtils.isNotEmpty(ip) && !"unKnown".equalsIgnoreCase(ip)) {
return ip;
}
return request.getRemoteAddr();
}
}
Java 常用工具类(6) : 获取请求的公网ip
最新推荐文章于 2024-06-17 18:09:23 发布