介绍
从日志里粘一条 User-Agent,得到它声称的浏览器、操作系统和设备类型。也有一个按钮读当前浏览器的,工单问你在用什么时那是最快的答案。
使用方法
粘贴字符串,或者使用当前浏览器的。结果是对这段文本的解读,所以伪装过或被精简过的 UA 会被原样报告。
这是一句自述,不是指纹
User-Agent 是客户端选择发送的一个头。任何人都能改,自动化工具本来就在改,浏览器出于隐私考虑也在削减它包含的内容。读它能知道这次请求是怎么自我介绍的,这对复现一个 bug 很有用,当成身份检查则接近毫无价值。
读日志里的一行
要找的是最后一个能认出来的产品标记,因为这串东西大部分是层层叠加的兼容声明。Chrome 会宣称 Safari,Edge 会宣称 Chrome,内嵌 WebView 会宣称承载它的那个应用。一个用户报告只有他打不开某个页面时,通常正是字符串里那段应用或 WebView 的信息造成了差别。
两个解析器结果不同时
每个解析器都是某个人维护的一堆模式,而这些堆各不相同。新版本浏览器上线在规则更新之前,精简字符串丢掉了规则期待的细节,机器人还在刻意模仿浏览器。如果一个决定依赖这个答案,请用比这个头更可靠的东西去验证,因为建在 UA 解析上的逻辑通常老得很快。
常见问题
结果有多准?
和字符串一样准。User-Agent 是客户端自述的,可以随意改写,所以这里读的是一个说法,不是硬件检测。
为什么和统计后台不一样?
每个解析器都有自己的一套规则,在边缘情况上会分歧。机器人、内嵌 WebView 和现代浏览器精简过的字符串,是分歧最集中的地方。
字符串会上传吗?
不会,解析在页面里完成。
为什么那么多 UA 都以 Mozilla/5.0 开头?
历史兼容。几十年前浏览器为了通过服务器检查开始自称 Mozilla,这个前缀就留了下来,现在已经没有东西依赖它。
相关工具
- 开发者与文本工具
- 查看当前公网 IP
显示浏览器访问本站时的公网 IP。
- HTTP 响应头查看
查看 URL 的 HTTP 响应头。
- JSON 本地格式化
在浏览器里格式化、压缩并校验 JSON。
- URL 本地编解码
在浏览器里编码或解码 URL 字符串。
- 时间戳与日期互转
在 Unix 时间戳与可读日期之间转换。
- Cookie 三种格式互转
在 HTTP Cookie、JSON 与 Netscape 格式之间转换。