Ir para o conteúdo principal

Analise uma string de user agent

Um analisador de user agent lê os tokens de um cabeçalho User-Agent e os transforma em campos estruturados. Abaixo, três strings fixas — um navegador desktop, um celular e um rastreador de busca — passam pelo mesmo analisador da ferramenta interativa, seguidas das regras que ele aplica.

Exemplo prático

Chrome no Windows
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
Navegador
Chrome 120.0.0.0
Motor
Blink
Sistema operacional
Windows 10/11
Classe do dispositivo
Desktop
Dispositivo
Desconhecido
Arquitetura da CPU
x64
Bot / rastreador
Não
Safari no iPhone
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
Navegador
Safari 17.0
Motor
WebKit
Sistema operacional
iOS 17.0
Classe do dispositivo
Móvel
Dispositivo
Apple iPhone
Arquitetura da CPU
Desconhecido
Bot / rastreador
Não
Googlebot (rastreador para smartphones)
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)
Navegador
Chrome 120.0.6099.216
Motor
Blink
Sistema operacional
Android 6.0.1
Classe do dispositivo
Bot
Dispositivo
Nexus 5X Build/MMB29P
Arquitetura da CPU
Desconhecido
Bot / rastreador
Googlebot

O Chrome no Windows envia Windows NT 10.0, compartilhado pelo Windows 10 e pelo Windows 11, por isso o SO aparece como 10/11. No iPhone, Version/17.0 informa a versão do Safari e iPhone OS 17_0, a versão do iOS. A string do Googlebot incorpora um user agent completo do Chrome no Android, mas as assinaturas de rastreadores são verificadas primeiro, então a classe do dispositivo é bot; os campos de navegador e SO continuam mostrando como o rastreador se apresenta.

Regras principais

  • As assinaturas de rastreadores são verificadas primeiro: Googlebot, Bingbot, DuckDuckBot, YandexBot, Baiduspider, Slackbot, Twitterbot e facebookexternalhit. Uma correspondência define a classe do dispositivo como bot mesmo quando há tokens de navegador.
  • Os navegadores são identificados em uma ordem fixa — Edge (Edg/), Opera (OPR/), Samsung Internet, Firefox, Chrome, Safari e, por fim, Chromium — porque a maioria das strings também contém os tokens de outros navegadores. O motor acompanha o navegador: Blink, Gecko ou WebKit.
  • O sistema operacional vem da seção de plataforma entre parênteses: iPhone, iPad, Android, Windows NT, CrOS, Mac OS X ou Linux. Os sublinhados nos números de versão da Apple são convertidos em pontos.
  • A classe do dispositivo é tablet para iPad, um token Tablet ou Android sem token Mobile; móvel para iPhone ou Android com token Mobile; e desktop para Windows, macOS, Linux e ChromeOS.
  • Tudo o que a string não informa fica como desconhecido (null na saída JSON) em vez de ser adivinhado. A confiança só é alta quando tanto um navegador quanto um sistema operacional foram identificados.
  • Qualquer cliente pode enviar um user agent do Googlebot. Para confirmar um rastreador real do Google, faça uma consulta DNS reversa no IP da requisição, verifique se o nome termina em googlebot.com ou google.com e confirme com uma consulta direta.

Mais guias sobre user agents