User-Agent 解析
解析 UA 字串,辨識瀏覽器、核心、作業系統、裝置與爬蟲
User-Agent 字符串
粘贴浏览器开发者工具请求头里的 User-Agent、日志中的访问者标识,或客服收到的截图文字,都能一次拆出浏览器、内核与系统。
这段 UA 说明什么?
User-Agent(UA)是浏览器在每次 HTTP 请求中自动携带的一串文本,用来告诉服务器「我是谁」。它由四部分组成:Mozilla/5.0 兼容头、(...) 内的系统环境、一串内核标识、以及浏览器自身版本。
工具介紹
User-Agent 是每次請求都會帶上的一串文字,用來說明「我是誰」。它在日誌分析、存取統計、相容性排查裡出現頻率很高,但欄位順序歷史包袱重,肉眼很容易讀錯:
- 六個維度辨識:瀏覽器或客戶端、渲染核心、作業系統、裝置類型、CPU 架構、語言環境
- 逐段高亮對照:懸停任意片段即可看到它的真實含義,包括
Mozilla/5.0與(KHTML, like Gecko)這類相容偽裝宣告 - 中國大陸與行動客戶端:微信、企業微信、釘釘、抖音、QQ 瀏覽器、UC、夸克、小米/華為/OPPO/vivo 瀏覽器等均可辨識
- 爬蟲與程式判定:百度、Google、Bing、搜狗、360、Bytespider 等蜘蛛,以及 curl、wget、python-requests、OkHttp、Postman 等程式化存取
- 版本換算:Windows NT 核心號換成市場名稱,iOS 與 macOS 的下劃線版本號還原為小數點
- 本機 UA 一鍵讀取:直接查看目前瀏覽器上報的 UA,便於填進設定與工單
使用情境
- 從 Nginx、CDN 日誌裡快速判斷某條存取是什麼裝置與瀏覽器
- 客服收到使用者截圖的 UA 文字,確認是在微信內開啟還是系統瀏覽器
- 前端排查 H5 頁面在 iOS 微信內表現不一致的問題
- 寫中介層規則時區分搜尋引擎蜘蛛與惡意腳本請求
- 設定 UA 嗅探、雙端跳轉或灰度策略前核對判斷條件
常見 UA 結構對照
| 裝置 / 瀏覽器 | 特徵片段 | 讀法要點 |
|---|---|---|
| Windows Chrome | Windows NT 10.0; Win64; x64 ... Chrome/131.0 | NT 10.0 同時涵蓋 Win10 與 Win11,結尾的 Safari/537.36 只是相容遺留 |
| Windows Edge | ... Chrome/131.0 ... Edg/131.0 | 新版 Edge 基於 Chromium,看 Edg/ 才是本體 |
| macOS Safari | Version/17.4 Safari/605.1.15 | Version/ 是 Safari 版本號,前面的 605 是 WebKit |
| Windows Firefox | rv:132.0) Gecko/20100101 Firefox/132.0 | Gecko/20100101 是固定寫法,真實版本看 rv: |
| iPhone Safari | CPU iPhone OS 17_4 like Mac OS X ... Mobile/15E148 | 17_4 即 iOS 17.4,出現 Mobile 表示手機端 |
| Android 微信 | MicroMessenger/8.0.40 WeChat/arm64 NetType/WIFI | 帶 MicroMessenger 即微信內建瀏覽器,H5 授權只能在這個環境走 |
| 搜尋引擎蜘蛛 | compatible; Baiduspider/2.0 | compatible; 後緊跟蜘蛛名與官網說明 |
常見問題
- UA 能被偽造嗎?可以,任何客戶端都能自訂這串文字。判斷真實來源要結合 JS 指紋、請求頻率與簽章校驗,本工具只解讀字面資訊
- 為什麼瀏覽器不再顯示完整 UA?主流瀏覽器已推進「使用者代理精簡版」,把版本號凍結為固定值以減少指紋追蹤,此時細節要改用
Client Hints取得 - 怎麼判斷使用者是否在小程式或 App 內?看有沒有
MicroMessenger、miniProgram、AliApp等客戶端標識,本工具會在辨識結果中直接給出客戶端名稱
需要把網址拆成網域與參數,請使用 URL 解析工具;查詢 IP 歸屬地請見 IP 歸屬地查詢;做 UA 正規表達式過濾可參考正規表達式測試。解析邏輯全部在瀏覽器本地執行,貼上的內容不會上傳伺服器。