在web2py中查找用户使用的浏览器
你好,我是web2py的新手,想知道怎么获取用户使用的浏览器信息。
我尝试了下面的代码:
browser=request.env.http_user_agent
但是得到的结果是:
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.60 Safari/534.24
我这里只用的是Chrome,怎么才能只获取到这个信息呢?
谢谢你,zoer,但这个方法对我没用。
我在想用JavaScript来识别浏览器,然后把信息发送到控制器函数里。
我还想识别操作系统。
我找到了一种方法,可以把值发送到控制器,但我不太明白怎么用。
代码是这样的:$.post(CONTROLLER_URL, {'browser': chrome}, function HANDLER)
这样我就能在request.vars.browse中获取到这个值。
但我还是不太明白怎么用这个$.post,有人知道怎么用吗?
3 个回答
3
在新版本的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
3
你总是会得到这样的结果,因为这是浏览器引擎的识别方式(可以查看维基百科上的用户代理文章)。
你需要手动解析用户代理字符串,类似于下面这样:
if 'Chrome' in browser:
users_browser = 'chrome'
1
我觉得你可以按照Zaur的建议去做,如果你只想检测Chrome浏览器的话。否则,你可以看看这个httpagentparser工具。