найти браузер, который пользователь использует в web2py

привет новичок web2py вот как я могу получить информацию какой пользователь браузера использует ..используя web2py

я пытаюсь ниже кода

браузер = request.env.http_user_agent

но дает мне результат, как

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.24 (KHTML, например Gecko) Chrome/11.0.696.60 Safari/534.24

но я использую только хром здесь, как мне это получить?


спасибо zoer, это не сработало для меня.

я думал идентифицировать его с помощью javascript и отправить в функцию контроллера, я также хочу идентифицировать операционную систему

я нашел этот способ, с помощью которого вы можете отправлять значения в контроллер, но я не понимаю, как его использовать

$.post(CONTROLLER_URL, {'browser': chrome}, function HANDLER)) и получит это значение в request.vars.browse

но я понимаю, как его использовать... Кто-нибудь знает, как использовать $.post?


person sagar    schedule 09.05.2011    source источник


Ответы (3)


Я думаю, вы должны сделать то, что предложил Заур, предполагая, что все, что вы хотите обнаружить, это Chrome. В противном случае вы можете проверить http://pypi.python.org/pypi/httpagentparser/.

person Shekhar    schedule 09.05.2011

Вы всегда будете получать такие результаты, потому что именно так идентифицируются движки браузеров (см. user-agent статью в Википедии).

Вам нужно вручную проанализировать строку пользовательского агента, например:

if 'Chrome' in browser:
  users_browser = 'chrome'
person Zaur Nasibov    schedule 09.05.2011

В новых версиях 2.* каждый запрос включает информацию о браузере, вызывая request.user_agent()

Эта функция использует:

from gluon.contrib import user_agent_parser

Пример информации:

browser :   name    :   Firefox
        version :   15.0.1
is_mobile:  False
is_tablet:  False
os  :   name    :   Windows
        version :   NT 6.1

Эта информация всегда находится в session._user_agent

Итак, вы можете проверить:

if session._user_agent['browser']['name']=='Chrome':
    ...your code
person sherdim    schedule 08.10.2012
comment
вам, вероятно, не следует использовать _user_agent, который, вероятно, является деталью реализации. Вместо этого вы могли бы сделать: if request.user_agent()['browser']['name'] == 'Chrome' - person User; 23.02.2014