ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
``` /** * @author 张跃帅 * @Description: 获取系统信息-工具 * @date 2020/08/12 */ public class UaUtil { /** * 获取客户端浏览器 */ public static String getBrowser(HttpServletRequest request) { // 获取请求代理头 UserAgent userAgent = getUserAgent(request); // 判断 if (ObjectUtil.isEmpty(userAgent)) { // 返回 return StrUtil.DASHED; } else { // 获取浏览器 String browser = userAgent.getBrowser().toString(); // 判断 if (StrUtil.isNotBlank(browser) && browser.length() > 250) { // 赋值 browser = browser.substring(0, 250); } // 返回 return "Unknown".equals(browser) ? StrUtil.DASHED : browser; } } /** * 获取客户端操作系统 */ public static String getOs(HttpServletRequest request) { // 获取请求代理头 UserAgent userAgent = getUserAgent(request); // 判断 if (ObjectUtil.isEmpty(userAgent)) { // 返回 return StrUtil.DASHED; } else { // 获取操作系统 String os = userAgent.getOs().toString(); // 判断 if (StrUtil.isNotBlank(os) && os.length() > 250) { // 赋值 os = os.substring(0, 250); } // 返回 return "Unknown".equals(os) ? StrUtil.DASHED : os; } } /** * 获取请求代理头 */ private static UserAgent getUserAgent(HttpServletRequest request) { // 获取标题忽略大小写 String userAgentStr = ServletUtil.getHeaderIgnoreCase(request, "User-Agent"); // 解析 UserAgent userAgent = UserAgentUtil.parse(userAgentStr); // 判空 if (ObjectUtil.isNotEmpty(userAgentStr)) { // 如果根本没获取到浏览器 if ("Unknown".equals(userAgent.getBrowser().getName())) { // 则将ua设置为浏览器 userAgent.setBrowser(new Browser(userAgentStr, null, "")); } } // 返回 return userAgent; } }