最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot 獲取訪問接口的請求的IP地址的實(shí)現(xiàn)

 更新時(shí)間:2021年07月27日 15:56:59   作者:小目標(biāo)青年  
本文主要介紹了springboot獲取訪問接口的請求的IP地址的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

工具類:

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")) {
                    // 根據(jù)網(wǎng)卡取本機(jī)配置的IP
                    InetAddress inet = null;
                    try {
                        inet = InetAddress.getLocalHost();
                    } catch (UnknownHostException e) {
                        e.printStackTrace();
                    }
                    ipAddress = inet.getHostAddress();
                }
            }
            // 對于通過多個(gè)代理的情況,第一個(gè)IP為客戶端真實(shí)IP,多個(gè)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;
    }
}

方法調(diào)用:

(當(dāng)接口 /test 被調(diào)用,request就能自動(dòng)獲取出來,然后調(diào)用工具類方法進(jìn)行解析獲取了。)

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

到此這篇關(guān)于springboot 獲取訪問接口的請求的IP地址的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)springboot 獲取接口IP地址內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java實(shí)現(xiàn)微信支付的項(xiàng)目實(shí)踐

    Java實(shí)現(xiàn)微信支付的項(xiàng)目實(shí)踐

    最近的一個(gè)項(xiàng)目中涉及到了支付業(yè)務(wù),其中用到了微信支付和支付寶支付,本文就來介紹一下Java實(shí)現(xiàn)微信支付的項(xiàng)目實(shí)踐,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • Spring中@ExceptionHandler注解的工作原理詳解

    Spring中@ExceptionHandler注解的工作原理詳解

    這篇文章主要介紹了Spring中@ExceptionHandler注解的工作原理詳解,Spring Web注解@ExceptionHandler可以用來指定處理某類異常的控制器方法,從而在這些異常發(fā)生時(shí),會(huì)有相應(yīng)的控制器方法來處理此類異常,需要的朋友可以參考下
    2024-01-01
  • Java字符串的處理方式及作用介紹

    Java字符串的處理方式及作用介紹

    StringBuilder、StringBuffer?和?String是Java中處理字符串的三種主要方式,每種有不同的特點(diǎn)和適用場景,下面給大家介紹Java字符串的處理方法及作用介紹
    2025-04-04
  • 5個(gè)JAVA入門必看的經(jīng)典實(shí)例

    5個(gè)JAVA入門必看的經(jīng)典實(shí)例

    這篇文章主要為大家詳細(xì)介紹了5個(gè)JAVA入門必看的經(jīng)典實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • 詳解Java多線程和IO流的應(yīng)用

    詳解Java多線程和IO流的應(yīng)用

    這篇文章主要介紹了詳解Java多線程和IO流的應(yīng)用,無論是本地文件復(fù)制,還是網(wǎng)絡(luò)多線程下載,對于流的使用都是一樣的,需要的朋友可以參考下
    2023-04-04
  • Spring Shell打Jar包時(shí)常用小技巧

    Spring Shell打Jar包時(shí)常用小技巧

    這篇文章主要介紹了Spring Shell打Jar包時(shí)常用小技巧,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • java封裝類型與基礎(chǔ)類型對比示例分析

    java封裝類型與基礎(chǔ)類型對比示例分析

    這篇文章主要為大家介紹了java封裝類型與基礎(chǔ)類型對比示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • Java?HashSet添加?遍歷元素源碼分析

    Java?HashSet添加?遍歷元素源碼分析

    這篇文章主要為大家詳細(xì)介紹了HashSet、HashMap底層添加、遍歷元素的機(jī)制,追蹤并分析源碼,文中的示例代碼講解詳細(xì),希望對大學(xué)有所幫助
    2022-07-07
  • java實(shí)現(xiàn)簡單學(xué)生管理系統(tǒng)項(xiàng)目

    java實(shí)現(xiàn)簡單學(xué)生管理系統(tǒng)項(xiàng)目

    這篇文章主要介紹了java實(shí)現(xiàn)簡單學(xué)生管理系統(tǒng)項(xiàng)目,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • 關(guān)于Java中阻塞隊(duì)列BlockingQueue的詳解

    關(guān)于Java中阻塞隊(duì)列BlockingQueue的詳解

    這篇文章主要介紹了關(guān)于Java中阻塞隊(duì)列BlockingQueue的詳解,BlockingQueue是為了解決多線程中數(shù)據(jù)高效安全傳輸而提出的,從阻塞這個(gè)詞可以看出,在某些情況下對阻塞隊(duì)列的訪問可能會(huì)造成阻塞,需要的朋友可以參考下
    2023-05-05

最新評論

石城县| 响水县| 普兰县| 凤山市| 东乌珠穆沁旗| 金川县| 利川市| 阳原县| 沁水县| 三亚市| 锡林郭勒盟| 临武县| 新沂市| 阿瓦提县| 和田市| 彝良县| 嫩江县| 清远市| 尚义县| 乐陵市| 兖州市| 河北省| 济源市| 青川县| 呼图壁县| 宝鸡市| 无极县| 渭源县| 溧阳市| 精河县| 城步| 梅河口市| 曲靖市| 抚宁县| 泸定县| 沐川县| 加查县| 布尔津县| 乐至县| 化州市| 黔西|