From 637108f9af4a56fb5bdaa2a782e645055bc06278 Mon Sep 17 00:00:00 2001 From: xwolf <2324808561@qq.com> Date: Tue, 27 Mar 2018 13:32:50 +0800 Subject: [PATCH] IP tool --- .../java/com/xwolf/boot/utils/IPUtil.java | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 src/main/java/com/xwolf/boot/utils/IPUtil.java diff --git a/src/main/java/com/xwolf/boot/utils/IPUtil.java b/src/main/java/com/xwolf/boot/utils/IPUtil.java new file mode 100644 index 0000000..879c6ba --- /dev/null +++ b/src/main/java/com/xwolf/boot/utils/IPUtil.java @@ -0,0 +1,43 @@ +package com.xwolf.boot.utils; + +import javax.servlet.http.HttpServletRequest; + +/** + * IP工具 + * @author xwolf + * @since 1.8 + */ +public class IPUtil { + + /** + * 获取IP地址 + * @param request + * @return + */ + public static String getIP(HttpServletRequest request) { + if (request == null) { + return "unknown"; + } + String ip = request.getHeader("x-forwarded-for"); + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("Proxy-Client-IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("X-Forwarded-For"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("WL-Proxy-Client-IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("X-Real-IP"); + } + + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getRemoteAddr(); + } + return ip; + } + + + +}