Forum Webscript.Ru
Общие => Веб-технологии => Тема начата: от 26 Января 2002, 19:10:03
-
Подскажите, пожалуйста, насколько точен/не точен следующий алгоритм анализа строки \'USER_AGENT\':
1) если в строке есть \'Opera\', считаем, что это Opera
2) если не Opera и в строке есть \'MSIE\', считаем, что это Internet Explorer
3) если не Opera и не MSIE и в строке есть \'Mozilla\', считаем, что это Netscape
Это, конечно, очень приближенная схема, но беспокоят следующие принципиальные вопросы:
1) Mozilla/4.0 (compatible; MSIE 5.0; Windows NT 5.1) Opera 5.12 [ru] - это Opera или IE (известно, что Opera легко может представляться как MSIE; да и не только она)?
2) Как я понимаю, "Mozilla" - это движок. Насколько правомерно считать все Mozilla, которые не Opera и не IE "шкафами"?
-
если знаешь php то посмотри комментарии к функции get_browser на php.net там есть пример анализа USER_AGENT
-
Спасибо! Посмотрел, очень любопытно, но я почему-то не смог найти файл browscap.ini.
А вообще, пользуюсь Perl. Может кто-нибудь знает Perl-модуль достойно решающий такие задачи? Или надежнее писать самому?
Также хотелось бы все-таки увидеть комментарии по-поводу "Mozilla".
-
А вообще, пользуюсь Perl. Может кто-нибудь знает Perl-модуль достойно решающий такие задачи? Или надежнее писать самому?
http://search.cpan.org/search?dist=HTTP-BrowserDetect
The following methods are available, each returning a true or false value. Some methods also test for the browser version, saving you from checking the version separately.
netscape nav2 nav3 nav4 nav4up nav45 nav45up navgold nav6 nav6up
gecko
ie ie3 ie4 ie4up ie5 ie55
neoplanet neoplanet2
mosaic
aol aol3 aol4 aol5 aol6
webtv
opera
lynx
emacs
staroffice
lotusnotes
icab
konqueror
java
+ наиболее популярные поисковые роботы, операционные системы и всякие примочки типа Palm
-
Спасибо!
Код этого модуля здорово помог решить некоторые вопросы. Жаль только, что его не обновляли с 31 января 2001 г. О существовании WinXP и Opera 6.0 он просто не знает. Так что, надежнне все-таки написать самому.