web-dev-qa-db-fra.com

Système d'exploitation à partir de l'en-tête HTTP de l'agent utilisateur

Existe-t-il une bonne liste mise à jour quelque part qui mappe les chaînes d'en-tête HTTP de l'agent utilisateur -> les systèmes d'exploitation?

57
C. Dragon 76

Voici une liste rapide ... faites-moi savoir si j'en ai manqué une qui vous intéresse.

http://www.geekpedia.com/code47_Detect-operating-system-from-user-agent-string.html :

// Correspond à la chaîne d'agent utilisateur avec les systèmes d'exploitation
Windows 3.11 => Win16,
Windows 95 => (Windows 95) | (Win95) | (Windows_95),
Windows 98 => (Windows 98) | (Win98),
Windows 2000 => (Windows NT 5.0) | (Windows 2000),
Windows XP => (Windows NT 5.1) | (Windows XP),
Windows Server 2003 => (Windows NT 5.2),
Windows Vista => (Windows NT 6.0),
Windows 7 => (Windows NT 6.1),
Windows 8 => (Windows NT 6.2),
Windows 10 => (Windows NT 10.0),
Windows NT 4.0 => (Windows NT 4.0) | (WinNT4.0) | (WinNT) | (Windows NT),
Windows ME => Windows ME,
Ouvrez BSD => OpenBSD,
Sun OS => SunOS,
Linux => (Linux) | (X11),
Mac OS => (Mac_PowerPC) | (Macintosh),
QNX => QNX,
BeOS => BeOS,
OS/2 => OS/2,
Recherche Bot => (nuhk) | (Googlebot) | (Yammybot) | (Openbot) | (Slurp) | (MSNBot) | (Ask Jeeves/Teoma) | (ia_archiver)

51
Nescio

Dans quelle langue développez-vous? Cela fait une énorme différence dans ce qui est à votre disposition si vous souhaitez effectuer une exploration de données sur la chaîne d'agent utilisateur.

La réponse de Nescio fournit une bonne liste. Le deuxième lien sous PHP dans ma liste contient également essentiellement les mêmes informations qui sont assez simples pour que vous puissiez les traduire dans n'importe quelle langue.

Gardez à l'esprit que l'utilisation de l'agent utilisateur pour tout est truffée de problèmes. À moins que vous ne souhaitiez consacrer une partie de votre temps de développement à surveiller les agents utilisateurs visitant votre site et à effectuer une maintenance constante, vous devez éviter de le faire entièrement. Quel que soit votre cas d'utilisation pour avoir besoin de détecter le système d'exploitation, chaque système d'exploitation de chaque plate-forme peut subir des changements spectaculaires dans des délais très courts.Il est donc important de le garder à l'esprit et de faire attention à la manière et aux raisons de la détection du système d'exploitation.

Pour expliquer les risques: sur le bureau, une nouvelle version du système d'exploitation peut sortir toutes les 6 semaines (Chrome OS), 6 mois (Ubuntu), 1 an (Mac OS) ou 2-3 ans (Windows). Ensuite, vous devez également tenir compte des systèmes d'exploitation publiés pour les téléphones, les tablettes, les consoles de jeu, horloges , etc., qui peuvent avoir des cycles de sortie beaucoup plus fréquents et des changements imprévisibles de part de marché. Regardez comment BlackBerry, Palm OS, Web OS, iOS, Android, Windows Mobile et Windows Phone ont changé de part de marché au cours des dernières années pour n'en nommer que quelques-uns.

À moins que le système d'exploitation ne soit une dépendance de votre site, comme si vous créez une page de "téléchargement" ciblée pour une application (qui en soi peut être remplie de problèmes), il est presque toujours préférable d'utiliser détection de fonctionnalités , ce qui vous permettra de pérenniser votre développement sans avoir à maintenir constamment le code de détection du navigateur ou du système d'exploitation.

14
Dan Herbert

Il convient de garder à l'esprit que l'en-tête de l'agent utilisateur peut facilement être falsifié. Je ne compterais pas dessus pour quoi que ce soit d'important.

7
Sherm Pendley

C'est presque toujours une mauvaise idée de renifler UA. Vous ne pouvez pas vous y fier du tout.

Si vous souhaitez envoyer au client une réponse spécifique à son environnement, vous devriez peut-être distinguer les différences du type de contenu ou de l'encodage. Ce sont solide comme le roc .

2
mkoeller

L'agent utilisateur du navigateur n'est pas quelque chose sur quoi je m'appuierais pour tout, nous l'utilisons tous pour des statistiques, mais nous savons qu'ils ne sont pas précis à 100%.

J'utilise Firefox et spoof régulièrement IE pour certains sites qui ne l'aiment pas, mon UA ​​habituel est:

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) 
Gecko/2008101315 Ubuntu/8.10 (intrepid) Firefox/3.0.3 

J'utilise parfois une extension Firefox pour la changer en:

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MS-RTC LM 8; 
.NET CLR 2.0.50727; .NET CLR 1.1.4322)

lorsque vous le regardez, vous devez analyser les différentes parties, le système d'exploitation est la troisième partie des valeurs délimitées par des points-virgules entre crochets.

2
Osama Al-Maadeed

Je cherchais la même chose, puis j'ai trouvé:
http://www.useragentstring.com

Génial, mais extrêmement élaboré: vous voudrez probablement repenser le projet pour lequel vous avez besoin de la liste, car celui-ci met les choses en perspective.

Je voulais juste partager cela pour les futurs chercheurs.

1
GitaarLAB

De nos jours, je peux recommander la base de données de http://user-agent-string.info . Vous pouvez identifier l'agent utilisateur ainsi que le système d'exploitation (si disponible).

Je développe la bibliothèque Java ADetector et je fusionne chaque mois une nouvelle version de la base de données (alias fichier UAS), disponible en XML et INI format. Par conséquent, je peux dire par expérience que ces données sont tenues à jour. Les intervalles de mise à jour habituels sont compris entre 5 et 10 journées.

1
before