获取访问者IP的一种较为完整的方式

来源:互联网 发布:淘宝直播 牌照 编辑:程序博客网 时间:2024/05/09 16:20

获取访问者IP的一种较为完整的方式

#

import javax.servlet.http.HttpServletRequest;/** * Created by 谭健 on 2017/8/11. 14:53. * © All Rights Reserved. * * 网络相关工具类 */public class NetWork {    /**     * 获取一个请求的发起IP     * @param request HttpServletRequest     * @return String类型的ip     */    public static String getRemoteIp(HttpServletRequest request){        String ip;        ip = request.getHeader("x-forwarded-for");        if (isNullIp(ip)){            ip = request.getHeader("Proxy-Client-IP");        }        if (isNullIp(ip)){            ip = request.getHeader("WL-Proxy-Client-IP");        }        if (isNullIp(ip)){            ip = request.getHeader("HTTP_CLIENT_IP");        }        if (isNullIp(ip)){            ip = request.getHeader("HTTP_X_FORWARDED_FOR");        }        if (isNullIp(ip)){            ip = request.getRemoteAddr();        }        if(ip.contains(",")){            ip=ip.split(",")[0];        }        if ("0.0.0.0.0.0.0.1".equals(ip) || "0.0.0.0.0.0.0.1%0".equals(ip)){            ip = "127.0.0.1";        }        return ip;    }    private static boolean isNullIp(final String ip){        return ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip);    }}
原创粉丝点击