跳至主要內容

解析 User Agent 字串

User Agent 解析器會讀取 User-Agent 標頭中的標記,並將其轉換為結構化欄位。以下三條固定字串——一個桌面瀏覽器、一支手機與一個搜尋引擎爬蟲——會經過與互動式工具相同的解析器處理,接著列出解析器所套用的規則。

實例解析

Windows 版 Chrome
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
瀏覽器
Chrome 120.0.0.0
渲染引擎
Blink
作業系統
Windows 10/11
裝置類型
桌面
裝置
未知
CPU 架構
x64
機器人 / 爬蟲
否
iPhone 版 Safari
Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1
瀏覽器
Safari 17.0
渲染引擎
WebKit
作業系統
iOS 17.0
裝置類型
行動
裝置
Apple iPhone
CPU 架構
未知
機器人 / 爬蟲
否
Googlebot(智慧型手機爬蟲)
Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.216 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
瀏覽器
Chrome 120.0.6099.216
渲染引擎
Blink
作業系統
Android 6.0.1
裝置類型
機器人
裝置
Nexus 5X Build/MMB29P
CPU 架構
未知
機器人 / 爬蟲
Googlebot

Windows 版 Chrome 傳送 Windows NT 10.0,Windows 10 與 Windows 11 共用這個值,因此作業系統顯示為 10/11。在 iPhone 上,Version/17.0 提供 Safari 版本,iPhone OS 17_0 提供 iOS 版本。Googlebot 字串內嵌了完整的 Android 版 Chrome User Agent,但爬蟲簽名會最先檢查,因此裝置類型為 bot;瀏覽器與作業系統欄位仍會顯示爬蟲自稱的身分。

關鍵規則

  • 最先檢查爬蟲簽名:Googlebot、Bingbot、DuckDuckBot、YandexBot、Baiduspider、Slackbot、Twitterbot 與 facebookexternalhit。一旦相符,即使存在瀏覽器標記,裝置類型也會設為 bot。
  • 瀏覽器依固定順序比對——Edge(Edg/)、Opera(OPR/)、Samsung Internet、Firefox、Chrome、Safari,最後是 Chromium——因為大多數字串也包含其他瀏覽器的標記。引擎隨瀏覽器而定:Blink、Gecko 或 WebKit。
  • 作業系統取自括號中的平台區段:iPhone、iPad、Android、Windows NT、CrOS、Mac OS X 或 Linux。Apple 版本號中的底線會轉換為點。
  • 裝置類型的判定:iPad、Tablet 標記或不含 Mobile 標記的 Android 為平板;iPhone 或含 Mobile 標記的 Android 為行動;Windows、macOS、Linux 與 ChromeOS 為桌面。
  • 字串中未說明的內容一律維持未知(JSON 輸出中為 null),而不是猜測。只有瀏覽器與作業系統都相符時,信心度才為高。
  • 任何用戶端都能傳送 Googlebot 的 User Agent。若要確認是真正的 Google 爬蟲,請對請求 IP 進行反向 DNS 查詢,檢查主機名稱是否以 googlebot.com 或 google.com 結尾,再以正向查詢加以確認。

更多 User Agent 指南