Найти - Пользователи
Полная версия: Определение на веб-сервере типа устройства клиента
Начало » Mobile Python » Определение на веб-сервере типа устройства клиента
1 2
igor.kaist
Стоп стоп… так ты забей на остальные… сделай правила по которым отдавай контент под мобилы, а всем остальным обычный…
и не обязательно знать все user agent… можно же сделать что то типа…
if 'Nokia' in os.environ['USER_AGENT']
и наплюй на все левое… отдавай им контент для компа…
Или в чем еще проблема?
regall
Это конечно так, но я ж не знаю всех производителей телефонов, комуникаторов, КПК, а тем более вдруг завтра какая-то фирмочка выпустит свой телефон, это ж надо все дописывать….. а так нельзя =(
igor.kaist
Ну не каждый же день появляется новый производитель :) забей всех основных..
Во… смотри.
Сделай ссылочку сверху “pda версия”, если по ней щелкнут, подсовывай вариант под мобилу и куда нибудь себе в лог запиши user agent, далее смотри иногда что там накопилось и добавляй новые правила, и будет твоя система обучаться :) Вариант? :)
Ferroman
По-моему очень хороший. Но что делать с теми кто попал с компютера на пда вариант, из поисковика, например?
Можно пробовать узнать разрешение экрана. Если меньше стандартного - то это не монитор, и давать пда ваиант.
igor.kaist
Тоже вариант, но не все через javascript смогут честно ответить.. А поисковик можно не пускать на pda версию. Но линку pda версия нужна, ИМХО! Я например если вижу интересный сайт, у которого есть pda версия, добавляю в закладки мобилы, а там уж в дороге смотрю.. Тем более не всех же юзер агентов, которые на пда зашли, добавлять в список.. Да, придется систему обучать вручную, но иного выхода я не вижу..
Добавлено:
с яваскрипт такие трудности еще: должна загрузиться страница со скриптом, а потом уже инфа на сервер может быть передана, то есть “на лету” не получится..
igor.kaist
Еще раз подумал.. Вот к примеру..
def is_mobile():
devises=['Series','Mini','Motorola','SonyEricsson']
for x in devises:if x in os.environ['USER_AGENT']:return True
return False
Уже покроет 70%… Ведь если в юзер агенте присутствует слово Series значит мы имеем Symbian смартфон коих большинство, со звонилок обычно юзают operamini.
Насчет КПК… они же на windows mobile, а это должно быть видно в строке юзер агента, примерно как строка Windows NT 5.1 говорит о том что мы под Windows xp сидим не зависимо от браузера.
То есть не обязательно знать что за модель или производитель для смартов и комуникаторов, а для звонилок достаточно производителя, коих не много (всякие Fly Sagem Pantech можно не считать вообще, основная масса их пользователей инет не используют)

Добавлено погуглив:
Вот первая попавшаяся ссылка, там описание браузеров от старых сименсом до iphone с примерами user agenta
http://www.zytrax.com/tech/mobile_ids.html
из этого делаем вывод что слово MIDP присутствует почти во всех звонилках, Series в смартах (не только nokia ), Windows CE сам говорит за себя… Вообщем то почти все охватили, даже у таких редкостей как Sharp Sanyo в user agent есть заветное MIDP…
Спасибо за внимание, исследование для себя закончил и окончательно убедился в правильности своего варианта :)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB