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;
}
}

最新文章

  1. This text field does not specify an inputType or a hint
  2. Cocoapods的安装,卸载和使用
  3. Harris角点检测
  4. POJ 2484
  5. Android(java)学习笔记185:xml文件生成
  6. 如何实现win7和VirtualBox中Ubuntu系统共享文件夹
  7. Android:创建耐磨应用 - 定义自己的布局
  8. android-audioRecord
  9. oracle 查询表中重复数据
  10. C++ 无锁数据结构
  11. AFN\HTTPS\UIWebView
  12. python第六十一天,第六十二天 redis
  13. 读书笔记(01) - JSON - JavaScript高级程序设计
  14. loadrunner 接口性能脚本编写(Get请求和Post请求)
  15. jmeter完成数据批量添加
  16. asp.net接收传入的数据流
  17. maven标签说明
  18. CentOS6安装各种大数据软件 第十章:Spark集群安装和部署
  19. 软件工程 speedsnail 第二次冲刺10
  20. JAVA-Unit04: SQL(高级查询)

热门文章

  1. springboot源码解析-管中窥豹系列之自动装配(九)
  2. 腾讯一面问我SQL语句中where条件为什么写上1=1
  3. 《C++ Primer》笔记 第9章 顺序容器
  4. WebService和Web API 区别
  5. [00]数字图像处理-matlab速成
  6. pytorch(15)损失函数
  7. iot漏洞mips汇编基础
  8. Python中OS对目录的操作以及引用
  9. 记录PHP post提交表单导入mysql中文乱码的问题
  10. Windows下常用测试命令