【工具类】获取请求头中User-Agent工具类
2024-09-02 08:33:40
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;
}
}
最新文章
- This text field does not specify an inputType or a hint
- Cocoapods的安装,卸载和使用
- Harris角点检测
- POJ 2484
- Android(java)学习笔记185:xml文件生成
- 如何实现win7和VirtualBox中Ubuntu系统共享文件夹
- Android:创建耐磨应用 - 定义自己的布局
- android-audioRecord
- oracle 查询表中重复数据
- C++ 无锁数据结构
- AFN\HTTPS\UIWebView
- python第六十一天,第六十二天 redis
- 读书笔记(01) - JSON - JavaScript高级程序设计
- loadrunner 接口性能脚本编写(Get请求和Post请求)
- jmeter完成数据批量添加
- asp.net接收传入的数据流
- maven标签说明
- CentOS6安装各种大数据软件 第十章:Spark集群安装和部署
- 软件工程 speedsnail 第二次冲刺10
- JAVA-Unit04: SQL(高级查询)