| @@ -1,82 +0,0 @@ | |||||
| package com.tothefor.utils; | |||||
| import eu.bitwalker.useragentutils.Browser; | |||||
| import eu.bitwalker.useragentutils.OperatingSystem; | |||||
| import eu.bitwalker.useragentutils.UserAgent; | |||||
| import eu.bitwalker.useragentutils.Version; | |||||
| import javax.servlet.http.HttpServletRequest; | |||||
| import java.net.InetAddress; | |||||
| import java.net.UnknownHostException; | |||||
| /** | |||||
| * @Author DragonOne | |||||
| * @Date 2022/3/13 19:44 | |||||
| * @墨水记忆 www.tothefor.com | |||||
| */ | |||||
| public class RequestInfoUtils { | |||||
| /** | |||||
| * 获取发起请求的IP地址 | |||||
| */ | |||||
| public static String getIp(HttpServletRequest request) { | |||||
| String ip = null; | |||||
| 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("WL-Proxy-Client-IP"); | |||||
| } | |||||
| if ((ip == null) || (ip.length() == 0) || ("unknown".equalsIgnoreCase(ip))) { | |||||
| ip = request.getRemoteAddr(); | |||||
| if (ip.equals("127.0.0.1")) { | |||||
| InetAddress inet = null; | |||||
| try { | |||||
| inet = InetAddress.getLocalHost(); | |||||
| } catch (UnknownHostException e) { | |||||
| e.printStackTrace(); | |||||
| } | |||||
| ip = inet.getHostAddress(); | |||||
| } | |||||
| } | |||||
| if ((ip != null) && (ip.length() > 15)) { | |||||
| if (ip.indexOf(",") > 0) { | |||||
| ip = ip.substring(0, ip.indexOf(",")); | |||||
| } | |||||
| } | |||||
| return ip; | |||||
| } | |||||
| /** | |||||
| * 获取发起请求的浏览器名称 | |||||
| */ | |||||
| public static String getBrowserName(HttpServletRequest request) { | |||||
| String header = request.getHeader("User-Agent"); | |||||
| UserAgent userAgent = UserAgent.parseUserAgentString(header); | |||||
| Browser browser = userAgent.getBrowser(); | |||||
| return browser.getName(); | |||||
| } | |||||
| /** | |||||
| * 获取发起请求的浏览器版本号 | |||||
| */ | |||||
| public static String getBrowserVersion(HttpServletRequest request) { | |||||
| String header = request.getHeader("User-Agent"); | |||||
| UserAgent userAgent = UserAgent.parseUserAgentString(header); | |||||
| // 获取浏览器信息 | |||||
| Browser browser = userAgent.getBrowser(); | |||||
| // 获取浏览器版本号 | |||||
| Version version = browser.getVersion(header); | |||||
| return version.getVersion(); | |||||
| } | |||||
| /** | |||||
| * 获取发起请求的操作系统名称 | |||||
| */ | |||||
| public static String getOsName(HttpServletRequest request) { | |||||
| String header = request.getHeader("User-Agent"); | |||||
| UserAgent userAgent = UserAgent.parseUserAgentString(header); | |||||
| OperatingSystem operatingSystem = userAgent.getOperatingSystem(); | |||||
| return operatingSystem.getName(); | |||||
| } | |||||
| } | |||||