Как получить агент пользователя с помощью Flask?

Я пытаюсь получить доступ к пользовательскому агенту с помощью Flask, но я либо не могу найти документацию на нем, либо он не говорит мне.

Ответ 1

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

Вы также можете использовать request.user_agent объект, который содержит следующие атрибуты, созданные на основе строки useragent:

  • платформа (windows, linux, macos и т.д.)
  • браузер (хром, firefox, msie и т.д.)
  • версия
  • язык
  • string (== request.headers.get('User-Agent'))

Ответ 2

flask.request.user_agent.string

Ответ 3

Если вы используете

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: окна
  • user_agent.browser: chrome
  • user_agent.version: 45.0.2454.101
  • user_agent.language: None
  • user_agent.string: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, например, Gecko) Chrome/45.0.2454.101 Safari/537.36

Ответ 4

UA обычно не содержит языка. Если вы хотите установить язык в браузере, вы можете использовать

request.accept_languages

Он предоставит вам список языков. Например.

LanguageAccept([('en-US', 1), ('en', 0.5)])

Чтобы получить доступ к первому значению, вы можете использовать

request.accept_languages[0][0]

который приведет к строке

'en-US'

Подробная информация о заголовке 'accept_language': https://www.w3.org/International/info/qa-lang-priorities