中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

springboot怎么獲取訪問接口的請求的IP地址

發布時間:2021-07-27 20:17:16 來源:億速云 閱讀:482 作者:chen 欄目:開發技術

這篇文章主要講解了“springboot怎么獲取訪問接口的請求的IP地址”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“springboot怎么獲取訪問接口的請求的IP地址”吧!

工具類:

import javax.servlet.http.HttpServletRequest;
import java.net.InetAddress;
import java.net.UnknownHostException;
 
/**
 * @Author : JCccc
 * @CreateTime : 2018-11-23
 * @Description :
 * @Point: Keep a good mood
 **/
public class IpUtil {
    public static String getIpAddr(HttpServletRequest request) {
        String ipAddress = null;
        try {
            ipAddress = request.getHeader("x-forwarded-for");
            if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
                ipAddress = request.getHeader("Proxy-Client-IP");
            }
            if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
                ipAddress = request.getHeader("WL-Proxy-Client-IP");
            }
            if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
                ipAddress = request.getRemoteAddr();
                if (ipAddress.equals("127.0.0.1")) {
                    // 根據網卡取本機配置的IP
                    InetAddress inet = null;
                    try {
                        inet = InetAddress.getLocalHost();
                    } catch (UnknownHostException e) {
                        e.printStackTrace();
                    }
                    ipAddress = inet.getHostAddress();
                }
            }
            // 對于通過多個代理的情況,第一個IP為客戶端真實IP,多個IP按照','分割
            if (ipAddress != null && ipAddress.length() > 15) { // "***.***.***.***".length()
                // = 15
                if (ipAddress.indexOf(",") > 0) {
                    ipAddress = ipAddress.substring(0, ipAddress.indexOf(","));
                }
            }
        } catch (Exception e) {
            ipAddress="";
        }
        // ipAddress = this.getRequest().getRemoteAddr();
 
        return ipAddress;
    }
}

方法調用:

(當接口 /test 被調用,request就能自動獲取出來,然后調用工具類方法進行解析獲取了。)

@RequestMapping(value = "/test", method = RequestMethod.GET)
public String test(HttpServletRequest request){
 
    //獲取IP地址
    String ipAddress =IpUtil.getIpAddr(request);
   
    return ipAddress;
}

感謝各位的閱讀,以上就是“springboot怎么獲取訪問接口的請求的IP地址”的內容了,經過本文的學習后,相信大家對springboot怎么獲取訪問接口的請求的IP地址這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

合江县| 曲阳县| 肥东县| 夏河县| 巴彦淖尔市| 武隆县| 大名县| 那坡县| 朝阳县| 株洲县| 三亚市| 滨海县| 凤山县| 娱乐| 黄山市| 临沭县| 新龙县| 南木林县| 克山县| 丽水市| 任丘市| 长葛市| 道孚县| 云安县| 新密市| 翼城县| 阿拉尔市| 石渠县| 巢湖市| 陕西省| 峡江县| 满城县| 庆阳市| 石狮市| 泾川县| 海阳市| 犍为县| 翁牛特旗| 镇远县| 东阳市| 靖安县|