获取客户端IP地址

骑猪看日落 2023-06-13 09:25 112阅读 0赞
  1. import javax.servlet.http.HttpServletRequest;
  2. /** * 获取客户端IP地址 * @author lizhangyu * @Date 2019-11-15 */
  3. public class IpUtils {
  4. /** * IP请求头候选列 */
  5. private static final String[] IP_HEADER_CANDIDATES = {
  6. "X-Forwarded-For",
  7. "Proxy-Client-IP",
  8. "WL-Proxy-Client-IP",
  9. "HTTP_X_FORWARDED_FOR",
  10. "HTTP_X_FORWARDED",
  11. "HTTP_X_CLUSTER_CLIENT_IP",
  12. "HTTP_CLIENT_IP",
  13. "HTTP_FORWARDED_FOR",
  14. "HTTP_FORWARDED",
  15. "HTTP_VIA",
  16. "REMOTE_ADDR"
  17. };
  18. /** * 获取客户端IP地址 * @param request HttpServletRequest 请求对象 * @return 客户端IP */
  19. public static String getClientIp(HttpServletRequest request) {
  20. for (String header : IP_HEADER_CANDIDATES) {
  21. String ip = request.getHeader(header);
  22. if (ip != null && ip.length() != 0 && !"unknown".equalsIgnoreCase(ip)) {
  23. return ip;
  24. }
  25. }
  26. return request.getRemoteAddr();
  27. }
  28. }

发表评论

表情:
评论列表 (有 0 条评论,112人围观)

还没有评论,来说两句吧...

相关阅读

    相关 JAVA获取客户IP地址

    场景:需要服务端获取到客户端得ip,然后塞到请求参数中。 自己整理了下这两种获取客户端IP得方法。目前自己在使用得是第二种。 1. 第一种方法