From 7cc39aa3d717761bb47badc02c1d146e599e5d12 Mon Sep 17 00:00:00 2001 From: TheWhiteDog9487 Date: Thu, 14 Aug 2025 13:35:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AF=B9CF-IPCountry?= =?UTF-8?q?=E8=AF=B7=E6=B1=82=E5=A4=B4=E7=9A=84=E8=A7=A3=E6=9E=90=E5=B9=B6?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E5=88=B0=E8=AE=BF=E9=97=AE=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E4=B8=AD=E3=80=82=20=E5=90=8E=E7=BB=AD=E5=BA=94=E8=AF=A5?= =?UTF-8?q?=E4=BC=9A=E5=8A=A0=E4=B8=80=E4=B8=AA=E5=9C=A8=E6=B2=A1=E6=9C=89?= =?UTF-8?q?CF-IPCountry=E7=9A=84=E6=83=85=E5=86=B5=E4=B8=8B=E5=9B=9E?= =?UTF-8?q?=E9=80=80=E5=88=B0geoip=E7=9A=84=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WebAPI/Controller/Filter/LogClientInfo.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/xyz/thewhitedog9487/WebAPI/Controller/Filter/LogClientInfo.java b/src/main/java/xyz/thewhitedog9487/WebAPI/Controller/Filter/LogClientInfo.java index f54eae6..29fcdfa 100644 --- a/src/main/java/xyz/thewhitedog9487/WebAPI/Controller/Filter/LogClientInfo.java +++ b/src/main/java/xyz/thewhitedog9487/WebAPI/Controller/Filter/LogClientInfo.java @@ -9,6 +9,7 @@ import org.springframework.stereotype.Component; import org.springframework.web.filter.OncePerRequestFilter; import java.io.IOException; +import java.util.Locale; @Slf4j @Component @@ -25,10 +26,15 @@ public class LogClientInfo extends OncePerRequestFilter { if ( request.getHeader("CF-Connecting-IP".toLowerCase() ) != null ) { String IP = request.getHeader( "CF-Connecting-IP".toLowerCase() ); } */ - log.info("请求携带了CF-Connecting-IP头部,IP为:{}", IP); } + log.info("请求携带了CF-Connecting-IP头部,IP:{}", IP); } else if( request.getHeader("X-Forwarded-For".toLowerCase() ) instanceof String IP ) { IP = IP.split(",")[0].trim(); - log.info("请求携带了X-Forwarded-For头部,IP为:{}", IP); } + log.info("请求携带了X-Forwarded-For头部,IP:{}", IP); } else { log.info("请求未携带CF-Connecting-IP和X-Forwarded-For头部,HttpServletRequest获取到的IP为:{}", request.getRemoteAddr()); } + if ( request.getHeader("CF-IPCountry".toLowerCase() ) instanceof String IP ) { + var Country = Locale.of(Locale.PRC.getLanguage(), IP, Locale.SIMPLIFIED_CHINESE.getVariant()); + log.info("请求携带了CF-IPCountry头部,ISO3166代码:{},对应的国家/地区:{}", IP, Country.getDisplayCountry(Locale.SIMPLIFIED_CHINESE)); } + else { + log.info("请求未携带CF-IPCountry头部,无法获取国家/地区信息。"); } filterChain.doFilter(request, response); } } \ No newline at end of file