java 获取web登录者的ip地址

Posted 简直HA怕

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 获取web登录者的ip地址相关的知识,希望对你有一定的参考价值。

/**
     * 获取访问用户的客户端IP(适用于公网与局域网).
     */
    public static final String getIpAddr(final HttpServletRequest request)
            throws Exception {
        if (request == null) {
            throw (new Exception("getIpAddr method HttpServletRequest Object is null"));
        }
        String ipString = request.getHeader("x-forwarded-for");
        if (StringUtils.isBlank(ipString) || "unknown".equalsIgnoreCase(ipString)) {
            ipString = request.getHeader("Proxy-Client-IP");
        }
        if (StringUtils.isBlank(ipString) || "unknown".equalsIgnoreCase(ipString)) {
            ipString = request.getHeader("WL-Proxy-Client-IP");
        }
        if (StringUtils.isBlank(ipString) || "unknown".equalsIgnoreCase(ipString)) {
            ipString = request.getRemoteAddr();
        }
     
        // 多个路由时,取第一个非unknown的ip
        final String[] arr = ipString.split(",");
        for (final String str : arr) {
            if (!"unknown".equalsIgnoreCase(str)) {
                ipString = str;
                break;
            }
        }
     
        return ipString;
    }

 

以上是关于java 获取web登录者的ip地址的主要内容,如果未能解决你的问题,请参考以下文章

php如何获取通过CURL或file_get_contents抓取者的IP地址

在 RPC 调用中确定请求者的 IP 地址

java获取登录内网ip地址

java获取登录内网ip地址

java获取登录内网ip地址

java获取登录内网ip地址