当前位置:网站首页>web服务通过用户访问请求判断设备来源
web服务通过用户访问请求判断设备来源
2022-07-30 17:03:00 【漂泊的猎人】
前言:
为了更精准的捕获用户访问类型,对用户的行为进行捕获和分析,同时也为了更少的对现有接口进行改动和兼容,我们需要识别接口请求来源于pc设备还是移动端设备。
1、正则表达式
static String phoneDevicesReg = "\\b(ip(hone|od)|android|opera m(ob|in)i"
+"|windows (phone|ce)|blackberry"
+"|s(ymbian|eries60|amsung)|p(laybook|alm|rofile/midp"
+"|laystation portable)|nokia|fennec|htc[-_]"
+"|mobile|up.browser|[1-4][0-9]{2}x[1-4][0-9]{2})\\b";
static String tableDevicesReg = "\\b(ipad|tablet|(Nexus 7)|up.browser"
+"|[1-4][0-9]{2}x[1-4][0-9]{2})\\b";
//移动设备手机端正则匹配
static Pattern phoneDevicesPat = Pattern.compile(phoneDevicesReg, Pattern.CASE_INSENSITIVE);
//移动设备平板端正则匹配
static Pattern tableDevicesPat = Pattern.compile(tableDevicesReg, Pattern.CASE_INSENSITIVE);
2、对移动设备识别标记
public static boolean mobileDevices(HttpServletRequest request){
String userAgent = request.getHeader("USER-AGENT").toLowerCase();
if(null == userAgent){
userAgent = "";
}
// 匹配
Matcher matcherDevicesPhone = phoneDevicesPat.matcher(userAgent);
Matcher matcherDevicesTable = tableDevicesPat.matcher(userAgent);
return (matcherDevicesPhone.find() || matcherDevicesTable.find());
}
边栏推荐
猜你喜欢

LeetCode167: Sum of two numbers in sorted array

MySQL索引常见面试题(2022版)

每日练习------生成13位条形, Ean-13码规则:第十三位数字是前十二位数字经过计算得到的校验码。

Summary of String Copy, Concatenation, Comparison and Split Functions (1)

Oracle动态监听与静态监听详解

牛客网刷题——运算符问题

HUAWEI CLOUD data governance production line DataArts, let "data 'wisdom' speak"
![[极客大挑战 2020]Roamphp1-Welcome](/img/3b/2fa91f7478b8abf6efe0feafd24e58.png)
[极客大挑战 2020]Roamphp1-Welcome

Leetcode 119. Yang Hui's Triangle II

MySql统计函数COUNT详解
随机推荐
Discuz magazine/news report template (jeavi_line) UTF8-GBK template
Lotus explodes the block failed
一篇文 带你搞懂,虚拟内存、内存分页、分段、段页式内存管理(超详细)
KDD‘21推荐系统离散特征表征无embedding table Learning to Embed Categorical Features without Embedding Tables for
Redis缓存穿透-热点缓存并发重建-缓存与数据库双写不一致-缓存雪崩
字符串复制、拼接、比较以及分割函数总结(一)
PHP留言反馈管理系统源码
测试管理与规范
Is it reliable to work full-time in self-media?
S7-200SMART中定时器的使用方法和常见注意事项汇总
全职做自媒体靠谱吗?
Chapter 6: Decisive Autumn Moves
安全业务收入增速超70% 三六零筑牢数字安全龙头
Win11如何把d盘空间分给c盘?Win11d盘分盘出来给c盘的方法
每日练习------生成13位条形, Ean-13码规则:第十三位数字是前十二位数字经过计算得到的校验码。
有效的括号字符串[贪心练习]
Tensorflow中实现正则化
torch.optim.Adam() 函数用法
JVM学习----垃圾回收
Discuz杂志/新闻报道模板(jeavi_line)UTF8-GBK模板