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


200

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

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

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

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



Ответы:


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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.