Rumah  >  Artikel  >  Java  >  获得客户端的真实IP

获得客户端的真实IP

巴扎黑
巴扎黑asal
2016-12-10 09:52:241283semak imbas

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; 
    } 
}

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:java线程Artikel seterusnya:java 中的接口和抽象类