zoukankan      html  css  js  c++  java
  • 【工具类】获取请求头中User-Agent工具类

    public class AgentUserKit {
        private static String pattern = "^Mozilla/\d\.\d\s+\(+.+?\)";
        private static String pattern2 = "\(+.+?\)";
        private static Pattern r = Pattern.compile(pattern);
        private static Pattern r2 = Pattern.compile(pattern2);
    
        public static String getDeviceInfo(HttpServletRequest request) {
            String userAgent = request.getHeader("User-Agent");
            if (userAgent==null){
                return null;
            }
            return getDeviceInfo(userAgent);
        }
    
        private static String getDeviceInfo(String userAgent) {
            String result=null;
            try {
                Matcher m = r.matcher(userAgent);
                if (m.find()) {
                    result = m.group(0);
                }
                Matcher m2 = r2.matcher(result);
                if (m2.find()) {
                    result = m2.group(0);
                }
                result = result.replace("(", "");
                result = result.replace(")", "");
    
            } catch (Exception e) {
                return userAgent;
            }
            return filterDeviceInfo(result);
        }
    
        public static String filterDeviceInfo(String result) {
            if (StringUtils.isEmpty(result)) {
                return null;
            }
            result = result.replace(" U;", "");
            result = result.replace(" zh-cn;", "");
            return result;
        }
    }
  • 相关阅读:
    TCP/IP详解卷:协议 第八章简要总结
    渗透测试1
    以前的实验博客地址,以前使用csdn
    day03---Node (05)
    day03---Vue(04)
    day03---Vue(03)
    day03---ES6入门(02)
    day03---前端开发和前端开发工具(01)
    Docker实战总结
    ETL之Kettle入门
  • 原文地址:https://www.cnblogs.com/july-sunny/p/12057125.html
Copyright © 2011-2022 走看看