gpt4 book ai didi

python - 如何使用 Flask 获取用户代理?

转载 作者:IT老高 更新时间:2023-10-28 21:08:10 30 4
gpt4 key购买 nike

我正在尝试使用 Flask 访问用户代理,但我找不到关于它的文档,或者它没有告诉我。

最佳答案

from flask import request
request.headers.get('User-Agent')

您也可以使用 request.user_agent包含以下基于用户代理字符串创建的属性的对象:

  • 平台(windows、linux、macos 等)
  • 浏览器(chrome、firefox、msie 等)
  • 版本
  • 语言
  • 字符串(== request.headers.get('User-Agent'))

注意:从 werkzeug 2.0 开始,request.user_agent 的解析数据已被弃用;如果您想继续获取详细信息,您需要使用自定义 UserAgent 实现并将其设置为自定义 Request 子类上的 user_agent_class,该子类已设置作为 Flask 实例(或子类)上的 request_class

这是一个使用 ua-parser 的示例实现:

from ua_parser import user_agent_parser
from werkzeug.user_agent import UserAgent
from werkzeug.utils import cached_property


class ParsedUserAgent(UserAgent):
@cached_property
def _details(self):
return user_agent_parser.Parse(self.string)

@property
def platform(self):
return self._details['os']['family']

@property
def browser(self):
return self._details['user_agent']['family']

@property
def version(self):
return '.'.join(
part
for key in ('major', 'minor', 'patch')
if (part := self._details['user_agent'][key]) is not None
)

关于python - 如何使用 Flask 获取用户代理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9878020/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com