Операционная система из HTTP-заголовка User-Agent

Есть ли хорошее, актуальное перечисление в любом месте, которое отображает строки HTTP-заголовка User-Agent -> операционные системы?

Вот быстрый список … дайте мне знать, если я пропустил тот, который вас интересует.

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

// сопоставление строки пользовательского агента с операционными системами
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,
Открыть BSD => OpenBSD,
Sun OS => SunOS,
Linux => (Linux) | (X11),
Mac OS => (Mac_PowerPC) | (Macintosh),
QNX => QNX,
BeOS => BeOS,
OS / 2 => OS / 2,
Поиск Bot => (nuhk) | (Googlebot) | (Yammybot) | (Openbot) | (Slurp) | (MSNBot) | (Ask Jeeves / Teoma) | (ia_archiver)

На каком языке вы работаете? Это имеет огромное значение в том, что доступно для вас, если вы хотите выполнить интеллектуальный анализ данных в строке пользовательского агента.

Ответ Nescio дает хороший список. Вторая ссылка под PHP в моем списке также содержит в основном ту же информацию, которая достаточно проста, чтобы вы могли перевести ее на любой язык.

Имейте в виду, что использование пользовательского агента для чего-либо изобилует проблемами. Если вы не захотите посвятить часть своего времени разработки, чтобы контролировать пользовательские агенты, посещающие ваш сайт и выполняющие постоянное обслуживание, вы должны стараться избегать этого. Независимо от того, какой ваш случай использования необходим для обнаружения ОС, каждая ОС на каждой платформе может иметь резкие изменения в очень короткие временные frameworks, поэтому важно помнить об этом и заботиться о том, как и почему вы обнаруживаете ОС.

Чтобы узнать о рисках: на рабочем столе новая версия ОС может появляться каждые 6 недель (Chrome OS), 6 месяцев (Ubuntu), 1 год (Mac OS) или 2-3 года (Windows). Затем вам также необходимо учитывать ОС, выпущенные для телефонов, планшетов, игровых консолей, часов и т. Д., Которые могут иметь гораздо более частые циклы выпуска и непредсказуемые изменения доли рынка. Посмотрите, как BlackBerry, Palm OS, Web OS, iOS, Android, Windows Mobile и Windows Phone изменили долю рынка за последние несколько лет, чтобы назвать несколько.

Если операционная система не является зависимой от вашего сайта, например, если вы создаете целевую страницу загрузки для приложения (что само по себе может быть связано с проблемами), почти всегда лучше использовать обнаружение функций , что позволит вы в будущем доказали свою разработку без постоянного поддержания кода обнаружения браузера или ОС.

Стоит иметь в виду, что заголовок пользовательского агента можно легко подделать. Я бы не стал на это полагаться ни на что важное.

Это почти всегда плохая идея, чтобы обмануть UA. Вы не можете на него положиться.

Если вы хотите отправить клиенту ответ, специфичный для его среды, вы должны, возможно, отличить различия от типа содержимого или кодировки. Это твердое тело .

Пользовательский агент из браузера не является чем-то, на что я опираюсь ни на что, мы все используем его для статистики, но мы знаем, что они не на 100% точны.

Я использую firefox и регулярно обманываю IE для некоторых сайтов, которым это не нравится, мой обычный UA:

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

Я иногда использую расширение Firefox, чтобы изменить его на:

 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) 

когда вы смотрите на него, вам нужно будет разобрать разные части, ОС – третья часть значений с разделителями с запятой между скобками.

Я искал то же самое, а затем нашел:
http://www.useragentstring.com

Отличный, но чрезвычайно сложный: вы, вероятно, захотите переосмыслить проект, в котором вы нуждаетесь в этом списке, поскольку этот вопрос ставит «вещи в перспективе».

Просто хотел поделиться этим для будущих людей, исследующих это.

В настоящее время я могу рекомендовать базу данных с http://user-agent-string.info . Вы можете определить User-Agent, а также операционную систему (если она доступна).

Я разрабатываю UADetector библиотеки Java и каждый месяц собираю новую версию базы данных (также известный как UAS-файл), ansible в формате XML и INI. Поэтому я могу сказать по моему опыту, что эти данные обновляются. Обычные интервалы обновления составляют от 5 до 10 дней.

Давайте будем гением компьютера.