欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

工具類:

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)卡取本機配置的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;
    }
}

方法調(diào)用:

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

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

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

相關(guān)文章

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

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

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

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

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

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

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

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

    這篇文章主要為大家詳細(xì)介紹了5個JAVA入門必看的經(jīng)典實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    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包時常用小技巧

    Spring Shell打Jar包時常用小技巧

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

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

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

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

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

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

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

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

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

最新評論