Операционная система от [закрытого] HTTP-заголовка агента пользователя

Невозможно использовать ICloneable не потому, что у него нет общего интерфейса. Причина не в том, чтобы использовать его, потому что это неопределенный . Он не дает понять, получаете ли вы мелкую или глубокую копию; это зависит от исполнителя.

Да, MemberwiseClone делает мелкую копию, но противоположность MemberwiseClone не является Clone; это было бы, пожалуй, DeepClone, которого не существует. Когда вы используете объект через свой интерфейс ICloneable, вы не можете знать, какой тип клонирования выполняет базовый объект. (И комментарии XML не станут ясными, потому что вы получите комментарии к интерфейсу, а не те, которые относятся к методу Clone объекта.)

То, что я обычно делаю, это просто сделать метод Copy, который делает именно то, что я хочу.

57
задан bignose 1 May 2009 в 08:51
поделиться

5 ответов

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

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,
ОС/2 => ОС/2,
, Поисковый Бот => (nuhk) | (Googlebot) | (Yammybot) | (Openbot) | (Хлебает) | (MSNBot) | (Спросите Jeeves/Teoma), | (ia_archiver)

51
ответ дан hytromo 24 November 2019 в 19:43
поделиться

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

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

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

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

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

14
ответ дан Dan Herbert 24 November 2019 в 19:43
поделиться

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

7
ответ дан Sherm Pendley 24 November 2019 в 19:43
поделиться

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

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

2
ответ дан mkoeller 24 November 2019 в 19:43
поделиться

Агент пользователя от браузера не что-то, на что я полагался бы для чего-либо, Все мы используем его для статистики, но мы знаем, что они не на 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)

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

2
ответ дан Osama Al-Maadeed 24 November 2019 в 19:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: