日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

IpUtils获取用户请求真实ip工具类

發布時間:2023/12/13 综合教程 21 生活家
生活随笔 收集整理的這篇文章主要介紹了 IpUtils获取用户请求真实ip工具类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.servlet.http.HttpServletRequest;
import java.net.InetAddress;
import java.net.UnknownHostException;

/**
 * IP工具類
 * @author justin.zheng
 * @date 2020/2/12 15:08
 */
public class IpUtils {

    private static Logger logger = LoggerFactory.getLogger(IpUtils.class);

    /**
     * 獲取用戶真實IP地址,不使用request.getRemoteAddr();的原因是有可能用戶使用了代理軟件方式避免真實IP地址。
     * 可是,如果通過了多級反向代理的話,X-Forwarded-For的值并不止一個,而是一串IP值,究竟哪個才是真正的用戶端的真實IP呢?
     * 答案是取X-Forwarded-For中第一個非unknown的有效IP字符串
     * @param request
     * @return
     */
    public static String getIpAddr(HttpServletRequest request) {
        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();
            if("127.0.0.1".equals(ip)||"0:0:0:0:0:0:0:1".equals(ip)){
                //根據網卡取本機配置的IP
                InetAddress inet=null;
                try {
                    inet = InetAddress.getLocalHost();
                    ip= inet.getHostAddress();
                } catch (UnknownHostException e) {
                    logger.error("==>getIpAddr error",e);
                }
            }
        }

        if(ip!=null&&ip.length()>0){
            //取第一個非unknown的有效IP字符串
            String[] split = ip.split(",");
            for (String s : split) {
                if(!"unknown".equalsIgnoreCase(s)){
                    ip = s;
                    break;
                }
            }
        }

        return ip;
    }


    private IpUtils() {
    }
}

總結

以上是生活随笔為你收集整理的IpUtils获取用户请求真实ip工具类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产成人在线看 | 亚洲综合视频一区 | 欧美一级夜夜爽 | 色狠av| jzzijzzij亚洲成熟少妇在线播放 狠狠躁日日躁夜夜躁2022麻豆 | 香蕉视频黄污 | 欧美区一区 | 欧美天堂网站 | 国产免费一区二区三区网站免费 | 亚洲永久无码精品 | 国产视频一二三四区 | 亚洲av色香蕉一区二区三区 | 国产视频高清 | 免费黄色国产 | 精品女同一区二区 | 欧美性tv | 日韩欧美精品 | 亚洲精品大片www | 国产不卡av在线 | 成人一区二区三区四区 | 久草视频资源 | 日韩国产亚洲欧美 | 国产天堂av在线 | 国产一级片免费视频 | 日本在线免费观看视频 | 在线亚洲区 | 亚洲天堂伊人网 | 久久盗摄 | 日韩精选av | 黄色国产网站 | 国产一区精品无码 | 第一次破处视频 | 欧美日韩免费观看视频 | 一本一道久久a久久综合蜜桃 | 成人高清网站 | 国产粉嫩在线 | 男生脱女生衣服 | 91美女在线视频 | 日韩aⅴ视频 | 欧美一区二区三区久久妖精 | 日韩在线观看一区 | ass亚洲肉体欣赏pics | 欧美丰满老妇熟乱xxxxyyy | 欧美另类精品xxxx孕妇 | 亚洲一区二区偷拍 | 精品亚洲成人 | 无码人妻精品一区二区三区99日韩 | 久久人人爽爽人人爽人人片av | 国产美女自拍 | 大黑人交交护士xxxxhd | 高潮毛片无遮挡免费看 | 久久99精品久久久久久园产越南 | 无码国模国产在线观看 | 色吟av| 在线看黄的网站 | 性生交大片免费看 | 色妺妺视频网 | 成年人性生活免费视频 | xxxxwww国产| 看毛片网站 | 精品人妻一区二区三区潮喷在线 | 草草地址线路①屁屁影院成人 | 久久午夜神器 | 中文字幕色哟哟 | 黄片毛片在线观看 | 日韩欧美精品在线播放 | 久久久三级视频 | 午夜久久久久久久久 | 亚洲欧美精品aaaaaa片 | 亚洲自拍图片 | 中文字幕色图 | 男人的天堂99 | 加勒比伊人 | 一卡二卡三卡四卡在线 | 亚州av一区二区 | 日韩夫妻性生活 | 中国丰满老太hd | 最近最经典中文mv字幕 | 久久性视频 | 久久中文字幕视频 | 久久久久无码国产精品一区李宗瑞 | 无码国精品一区二区免费蜜桃 | 欧日韩在线| 精品国产丝袜一区二区三区乱码 | 黄网站色视频免费观看 | 国产成人免费看一级大黄 | av在线激情 | 国产黄色大片在线观看 | 国产毛片一区 | 精品综合 | 欧美一级免费在线观看 | 日韩精品福利在线 | 精品国产一区二区三区久久狼黑人 | 亚洲精品欧美日韩 | 激情五月激情综合网 | 顶级嫩模啪啪呻吟不断好爽 | 成人深夜福利视频 | 日本高清免费aaaaa大片视频 | 成人免费一区二区三区在线观看 |