Tôi tìm một số cách khác nhau để nhận ip trong servlet là gì. nhưng tôi không biết cái nào là đúng và tại sao.cách thích hợp để nhận yêu cầu ip
1:
request.getHeader("X-Real-IP")
2:
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("WL-Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_CLIENT_IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_X_FORWARDED_FOR");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
} `
3:
String ip=request.getHeader("x-forwarded-for");
if(ip==null){
ip=request.getRemoteAddr();
}
String ips[]=ip.split(",");`
ip=ips[0];
Kiểm tra liên kết này: http://stackoverflow.com/questions/10363069/how-can-i-retrieve-ip-address-from-http-header-in-java/10363109#10363109 –