在django中解析HTTP_USER_AGENT字符串。 [英] Parse HTTP_USER_AGENT string in django.

查看:548
本文介绍了在django中解析HTTP_USER_AGENT字符串。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

解析 django请求中的用户代理字符串的最佳方法是什么?

request.META.get('HTTP_USER_AGENT', '')

这里是我得到的字符串。

here is what i get in the string.

Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 537.36(KHTML,像Gecko)Chrome / 33.0.1750.146 Safari / 537.36

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36

不知道如何解析这些信息。

Not sure how to parse this information.

是否有成本(时间, +内存)高效的解决方案。
我只需要解析所有的字符串。

Is there any cost(time, + memory) efficient solution. I just need to parse the string thats' all.

推荐答案

你可以尝试这个库:

https://pypi.python.org/pypi/user-agents/

示例

from user_agents import parse

# iPhone's user agent string
ua_string = 'Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B179 Safari/7534.48.3'
user_agent = parse(ua_string)

# Accessing user agent's browser attributes
user_agent.browser  # returns Browser(family=u'Mobile Safari', version=(5, 1), version_string='5.1')
user_agent.browser.family  # returns 'Mobile Safari'
user_agent.browser.version  # returns (5, 1)
user_agent.browser.version_string   # returns '5.1'

# Accessing user agent's operating system properties
user_agent.os  # returns OperatingSystem(family=u'iOS', version=(5, 1), version_string='5.1')
user_agent.os.family  # returns 'iOS'
user_agent.os.version  # returns (5, 1)
user_agent.os.version_string  # returns '5.1'

# Accessing user agent's device properties
user_agent.device  # returns Device(family='iPhone')
user_agent.device.family  # returns 'iPhone'

这篇关于在django中解析HTTP_USER_AGENT字符串。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆