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
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
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
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.