Bir user agent dizesini ayrıştırın
Bir user agent ayrıştırıcı, User-Agent başlığındaki belirteçleri okuyup yapılandırılmış alanlara dönüştürür. Aşağıda üç sabit dize — bir masaüstü tarayıcı, bir telefon ve bir arama motoru crawler'ı — etkileşimli araçla aynı ayrıştırıcıdan geçiriliyor; ardından ayrıştırıcının uyguladığı kurallar geliyor.
Uygulamalı örnek
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
- Tarayıcı
- Chrome 120.0.0.0
- Motor
- Blink
- İşletim sistemi
- Windows 10/11
- Cihaz sınıfı
- Masaüstü
- Cihaz
- Bilinmiyor
- CPU mimarisi
- x64
- Bot / crawler
- Hayır
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
- Tarayıcı
- Safari 17.0
- Motor
- WebKit
- İşletim sistemi
- iOS 17.0
- Cihaz sınıfı
- Mobil
- Cihaz
- Apple iPhone
- CPU mimarisi
- Bilinmiyor
- Bot / crawler
- Hayır
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)
- Tarayıcı
- Chrome 120.0.6099.216
- Motor
- Blink
- İşletim sistemi
- Android 6.0.1
- Cihaz sınıfı
- Bot
- Cihaz
- Nexus 5X Build/MMB29P
- CPU mimarisi
- Bilinmiyor
- Bot / crawler
- Googlebot
Windows'ta Chrome, Windows 10 ve Windows 11'in ortak kullandığı Windows NT 10.0 değerini gönderir; bu yüzden işletim sistemi 10/11 olarak gösterilir. iPhone'da Version/17.0 Safari sürümünü, iPhone OS 17_0 ise iOS sürümünü verir. Googlebot dizesi, Android'de Chrome'a ait eksiksiz bir user agent içerir; ancak crawler imzaları önce kontrol edildiği için cihaz sınıfı bot olur. Tarayıcı ve işletim sistemi alanları yine de crawler'ın kendini nasıl tanıttığını gösterir.
Temel kurallar
- Crawler imzaları önce kontrol edilir: Googlebot, Bingbot, DuckDuckBot, YandexBot, Baiduspider, Slackbot, Twitterbot ve facebookexternalhit. Eşleşme olursa, tarayıcı belirteçleri bulunsa bile cihaz sınıfı bot olarak ayarlanır.
- Tarayıcılar sabit bir sırayla eşleştirilir — Edge (Edg/), Opera (OPR/), Samsung Internet, Firefox, Chrome, Safari ve son olarak Chromium — çünkü çoğu dize başka tarayıcıların belirteçlerini de içerir. Motor tarayıcıya göre belirlenir: Blink, Gecko veya WebKit.
- İşletim sistemi, parantez içindeki platform bölümünden alınır: iPhone, iPad, Android, Windows NT, CrOS, Mac OS X veya Linux. Apple sürüm numaralarındaki alt çizgiler noktaya dönüştürülür.
- Cihaz sınıfı, iPad, Tablet belirteci veya Mobile belirteci olmayan Android için tablet; iPhone veya Mobile belirteci olan Android için mobil; Windows, macOS, Linux ve ChromeOS için masaüstüdür.
- Dizenin belirtmediği her şey tahmin edilmek yerine bilinmiyor olarak kalır (JSON çıktısında null). Güven yalnızca hem tarayıcı hem de işletim sistemi eşleştiğinde yüksektir.
- Herhangi bir istemci Googlebot user agent'ı gönderebilir. Gerçek bir Google crawler'ını doğrulamak için isteğin IP adresinde ters DNS sorgusu yapın, adın googlebot.com veya google.com ile bittiğini kontrol edin, ardından ileri yönlü bir sorguyla doğrulayın.