Shambhu Mehta
Jun 16, 2021

--

HttpServletRequest : Java code to get client IP Address

public static final String X_FORWARDED_FOR = “X-Forwarded-For”;
public static final String PROXY_CLIENT_IP = “Proxy-Client-IP”;
public static final String WL_PROXY_CLIENT_IP = “WL-Proxy-Client-IP”;
public static final String HTTP_CLIENT_IP = “HTTP_CLIENT_IP”;
public static final String HTTP_X_FORWARDED_FOR = “HTTP_X_FORWARDED_FOR”;

public String getClientIpAddr(HttpServletRequest request) {
String ip = request.getHeader(CommonConstants.X_FORWARDED_FOR);
try {
if (StringUtils.isBlank(ip) || StringUtils.equalsIgnoreCase(CommonConstants.UNKNOWN,ip)) {
ip = request.getHeader(CommonConstants.PROXY_CLIENT_IP);
if (StringUtils.isBlank(ip) || StringUtils.equalsIgnoreCase(CommonConstants.UNKNOWN,ip)) {
ip = request.getHeader(CommonConstants.WL_PROXY_CLIENT_IP);
if (StringUtils.isBlank(ip) || StringUtils.equalsIgnoreCase(CommonConstants.UNKNOWN,ip)) {
ip = request.getHeader(CommonConstants.HTTP_CLIENT_IP);
if (StringUtils.isBlank(ip) || StringUtils.equalsIgnoreCase(CommonConstants.UNKNOWN,ip)) {
ip = request.getHeader(CommonConstants.HTTP_X_FORWARDED_FOR);
if (StringUtils.isBlank(ip) || StringUtils.equalsIgnoreCase(CommonConstants.UNKNOWN,ip)) {
ip = request.getRemoteAddr();
}
}
}
}
}
} catch (Exception e) {
e.getMessage();
}
return ip;
}

--

--