91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

长乐市| 白朗县| 琼中| 玉林市| 彰武县| 兴和县| 芦溪县| 雷波县| 兴安县| 拜泉县| 宁津县| 卫辉市| 新沂市| 镇原县| 平塘县| 台东县| 内丘县| 辰溪县| 宁国市| 民勤县| 弋阳县| 大港区| 白银市| 台州市| 巩留县| 仁布县| 洛川县| 伊金霍洛旗| 修水县| 定南县| 宁南县| 兴文县| 江陵县| 津市市| 虞城县| 盐城市| 通江县| 黔西县| 景德镇市| 当涂县| 汉沽区|