Maison  >  Article  >  Java  >  获得客户端的真实IP

获得客户端的真实IP

巴扎黑
巴扎黑original
2016-12-10 09:52:241319parcourir

public class IPUtil { 
    public static String getIpAddr(HttpServletRequest request) { 
        String ip = request.getHeader("X-Real-IP"); 
        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 
         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.getRemoteAddr(); 
        } 
        //防止多级代理时返回过个ip。 
        if(ip != null && ip.indexOf(",") != -1){ 
            ip= ip.substring(0,ip.indexOf(",")); 
        } 
        return ip; 
    } 
}

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:java线程Article suivant:java 中的接口和抽象类