UA用户信息命中

简介: UA用户信息命中

序言



不知道你有没有注意到当你点击某些软件的下载页面时,其会自动判断出你的操作系统并推送对应的系统版本安装包,其实这就是通过 UA( User Agent )来获取到的用户系统的相关信息,UA 不仅有操作系统的基本信息,还会包含 CPU 的相关信息,以及用户正在使用的浏览器的基本信息,而对于移动端,则还会包括用户的手机品牌和型号等信息。


User Agent



UA 其实就是一个字符串,包含了上述的许多环境信息,打开你的浏览器输入 navigator.userAgent 即可以看到,如下图所示:



对于 PC 端而言,用户的 UA 相对格式固定,使用起来比较方便,但是对于移动端而言,国内的手机厂商却并没有一个统一的标准,而且手机品种繁多且更新频率很高,即使是同一个品牌不同型号的机子 UA 格式也会不同,更有甚者同一个品牌同一个型号,但是不同的定制版(三大运营商就喜欢搞自己的定制版)UA 也不统一,这就造成了想要通过 UA 来准确地获取用户手机的品牌和型号等信息时困难重重。


ua-device



前人种树后人乘凉,好在百度的前端团队基本解决了上述移动端 UA 解析的问题,并且开源了这个库 ua-device ( 几千行正则判断,命中率挺高 ),而且这个项目也一直在更新,但是目前只支持通过 npm 后端部署使用,无法直接在前端加个 script src 就引用。( 老外的 UA 库很明显水土不服,毕竟不了解大天朝的国情 )


ua-device 的使用方式也很简单,传入 UA 字符串即可,下图是官方的例子:


最后附上我的测试页面链接,访问这个页面即可获取到自己手机的基本信息:

http://oiil9hcbg.bkt.clouddn.com/user-agent.html


你也可以直接调用我的后台接口进行测试,输入格式如下图:(其实你下载上面的测试页面就知道了)


结束语



现在都是大数据的时代,数据分析很热门,但是首先我们必须要获取到用户的信息才行,至于具体分析出个什么东西来那也是后话了,不过用户反馈异常的时候, UA 的信息我想了想还是觉得很有用的。

目录
相关文章
|
8月前
|
前端开发
解决前端ajax跨域请求不携带cookie信息JSESSIONID的问题
解决前端ajax跨域请求不携带cookie信息JSESSIONID的问题
|
8月前
|
安全 搜索推荐 JavaScript
和Cookie相关的Header 字段有哪些?
和Cookie相关的Header 字段有哪些?
|
6月前
|
缓存
|
7月前
|
存储 缓存
使用tp5内cache缓存,存储手机短信验证码
使用tp5内cache缓存,存储手机短信验证码
126 1
|
8月前
|
JSON 应用服务中间件 nginx
在Nginx日志中记录请求的header和请求body
在Nginx日志中记录请求的header和请求body
947 0
Postman - 设置全局请求 header 信息
Postman - 设置全局请求 header 信息
3809 0
Postman - 设置全局请求 header 信息
|
NoSQL Redis
SpringSession的源码解析(从Cookie中读取Sessionid,根据sessionid查询信息全流程分析)
上一篇我们介绍了SpringSession中Session的保存过程,今天我们接着来看看Session的读取过程。相对保存过程,读取过程相对比较简单。 本文想从源码的角度,详细介绍一下Session的读取过程。
409 0
SpringSession的源码解析(从Cookie中读取Sessionid,根据sessionid查询信息全流程分析)
|
移动开发 前端开发 关系型数据库
postman如何跳过登录及权限,部分适用;数据库查询id,postman查询id都不一样,前端显示出id一样
postman如何跳过登录及权限,部分适用;数据库查询id,postman查询id都不一样,前端显示出id一样
476 0
postman如何跳过登录及权限,部分适用;数据库查询id,postman查询id都不一样,前端显示出id一样
|
Java API 数据库
请求地址中主动携带Cookies信息通过登录验证
最近在做一个机关单位的项目,他们的项目基本都是部署在内部网络中,并且都做了单点登录验证,即就是该网站上挂载了许多的系统和应用,访问其中的某一个系统和应用的时候,都会被单点登录拦截在登录页面,必须登录该网站,才能访问其中的系统及应用
132 0
请求地址中主动携带Cookies信息通过登录验证
使用cookie来记录用户登录次数,为何次数不更新
使用cookie来记录用户登录次数,为何次数不更新