如何使用Flask获取用户代理?
我试图用Flask访问用户代理,但是我无法find它的文档,或者它不告诉我。
from flask import request request.headers.get('User-Agent')
您也可以使用request.user_agent
对象,该对象包含基于useragentstring创build的以下属性:
- 平台(windows,linux,macos等)
- 浏览器(chrome,firefox,msie等)
- 版
- 语言
- string(
== request.headers.get('User-Agent')
)
flask.request.user_agent.string
如果你使用
request.headers.get('User-Agent')
您可能会得到:Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 537.36(KHTML,如Gecko)Chrome / 45.0.2454.101 Safari / 537.36
如果你使用
request.user_agent
你可能会得到这样的结果:
- user_agent.platform:windows
- user_agent.browser:chrome
- user_agent.version:45.0.2454.101
- user_agent.language:无
- user_agent.string:Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 537.36(KHTML,如Gecko)Chrome / 45.0.2454.101 Safari / 537.36
UA通常不包含语言。 如果你想获得在浏览器中设置的语言,你可以使用
request.accept_languages
它会给你的语言列表。 例如
LanguageAccept([('en-US', 1), ('en', 0.5)])
要访问第一个值,可以使用
request.accept_languages[0][0]
这将导致string
'en-US'
有关“accept_language”标头的详细信息: https ://www.w3.org/International/questions/qa-lang-priorities