Как получить http заголовки в колбе?

200

Я новичок в Python и использую Python Flask и создание службы REST API.

Я хочу проверить заголовок авторизации, который отправляется клиенту.

Но я не могу найти способ получить заголовок HTTP в колбе.

Любая помощь для получения авторизации заголовка HTTP приветствуется.

Emil
источник
Также см. Документацию Flask Quickstart и API .
Мартин Питерс

Ответы:

300
from flask import request
request.headers.get('your-header-name')

request.headers ведет себя как словарь, так что вы также можете получить свой заголовок, как и в любом словаре:

request.headers['your-header-name']
Сани
источник
1
Спасибо за быструю помощь @sanyi
Эмиль
9
К вашему сведению: я смотрю на flask.pocoo.org/snippets/8 и похоже, что вы также можете получить доступ к имени пользователя и паролю для базовой аутентификации, например так: request.authorization.usernameили request.authorization.password.
Картих Рагхупати,
1
@Karthic Raghupathi, если в заголовке нет недопустимых символов, таких как тире, что и делают большинство заголовков (например, X-Api-Key), и в этом случае вам нужно обращаться к нему как к словарю с ключами.
Blairg23
1
@Abhijeet: ... или вы можете просто использовать код, который я предложил в моем предыдущем комментарии. Гораздо чище.
Майкл Шепер
5
Заголовки колб не являются диктатом, да? ... Я вижу, что они возвращаются как werkzeug.datastructures.EnvironHeaders в моих тестах. werkzeug.pocoo.org/docs/0.14/datastructures/…
Pandem1c