在django中解析HTTP_USER_AGENT字符串。 [英] Parse HTTP_USER_AGENT string in django.
本文介绍了在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屋!
查看全文