Атрибут user_agent
Атрибут user_agent применяется к объекту запроса
request и возвращает строку, которую клиент
передал в заголовке User-Agent. Эта строка
содержит сведения о браузере, операционной системе,
устройстве и других характеристиках клиента.
Если заголовок отсутствует, атрибут возвращает
None.
Синтаксис
request.user_agent
Пример
Давайте выведем значение атрибута user_agent
в обработчике маршрута:
from flask import Flask, request
app = Flask(__name__)
@app.route('/')
def index():
return request.user_agent.string
Результат выполнения кода для браузера Chrome:
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
Пример
Атрибут user_agent возвращает объект
UserAgent, у которого есть свойства
platform, browser и version.
Давайте выведем их:
from flask import Flask, request
app = Flask(__name__)
@app.route('/')
def index():
ua = request.user_agent
return f"{ua.platform} {ua.browser} {ua.version}"
Результат выполнения кода:
"windows chrome 120.0.0.0"
Пример
Давайте проверим, является ли клиент мобильным
устройством, с помощью свойства platform:
from flask import Flask, request
app = Flask(__name__)
@app.route('/')
def index():
if request.user_agent.platform == 'android':
return 'mobile device'
return 'desktop device'
Результат выполнения кода для Android-устройства:
"mobile device"
Смотрите также
-
класс
Request,
который представляет HTTP-запрос -
атрибут
headers,
который возвращает все заголовки запроса -
атрибут
referrer,
который возвращает адрес источника перехода -
атрибут
remote_addr,
который возвращает IP-адрес клиента