日韩性视频-久久久蜜桃-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工具类的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: jizz中国少妇高潮出水 | 99在线播放视频 | 日本在线一级片 | 精品国产乱码久久久久久影片 | 国产区在线 | 人人爽人人射 | 免费一级片视频 | 五月激情六月婷婷 | 欧美区在线 | 91免费观看视频在线 | 手机av免费在线 | 国产91成人| 波多野结衣一区二区三区四区 | 亚洲人体视频 | 黄色小说在线看 | 日韩免费a | 国产欧美一区二区三区在线看 | 婷婷五月小说 | 亚洲精品一区二区三区中文字幕 | 亚洲精品国产无码 | 午夜一级片 | 亚洲av无码一区二区乱子伦as | www日本xxx| 亚洲va久久久噜噜噜无码久久 | av天天有| 免费av看片 | 日韩社区 | 99久热在线精品996热是什么 | 天天精品综合 | 日韩精品不卡 | 看片免费黄在线观看入口 | 日日操夜夜草 | 日韩成人免费在线观看 | 秋霞毛片 | 高清一区二区三区视频 | 国产亚洲欧美精品久久久www | 四虎最新域名 | 少妇一边呻吟一边说使劲视频 | 亚洲国产精品免费 | 女人脱裤子让男人捅 | 美国毛片网站 | 桃花色综合影院 | 亚洲电影一区二区三区 | 国产a一级片 | 爱搞逼综合 | 麻豆蜜桃在线观看 | 9.1在线观看免费 | 色视频一区二区 | 欧美一区二区三区视频在线 | 九九在线观看高清免费 | 中文字幕一区二区三区乱码不卡 | 亚洲天堂一区在线 | 99热这里只有精品3 成年人黄色网址 | 精品免费一区二区三区 | 精品久久在线观看 | 韩国中文三级hd字幕 | 日韩欧美亚洲国产精品字幕久久久 | 永久免费成人 | 精品无码一区二区三区蜜臀 | 麻豆传媒在线观看 | 日本精品久久久久中文字幕 | 草草影院网址 | 成人污网站 | 国产黄av | 丝袜视频在线观看 | 亚洲成人a v| 国产做爰免费观看视频 | 九九九九九九精品 | xxx精品| 麻豆做爰免费观看 | 欧美a级在线观看 | 日韩中文av | 成人动漫一区二区三区 | 久久久久久久亚洲 | 亚洲福利电影网 | 欧美一区网站 | 精品一区二区久久久久久按摩 | 亚洲一区二区黄 | 麻豆视 | 美女日批网站 | 成人av电影免费观看 | 成人av一区二区在线观看 | 亚洲精品视频一二三区 | 日韩精品一区二区三区在线播放 | 小镇姑娘国语版在线观看免费 | 国内少妇毛片视频 | 日韩成人免费电影 | 成人a级免费视频 | 操欧美女 | 粉嫩av一区二区夜夜嗨 | 午夜在线观看免费视频 | 午夜之声l性8电台lx8电台 | 九九色播| 激情五月综合色婷婷一区二区 | 国产女人与zoxxxx另类 | 无码粉嫩虎白一线天在线观看 | 色优久久 | 亚洲香蕉在线观看 | 成人欧美一区二区三区黑人孕妇 |