web-dev-qa-db-fra.com

Comment obtenir des en-têtes http dans une fiole?

Je suis un débutant sur python et j'utilise Python Flask et je génère le service REST API.

Je veux vérifier l'en-tête d'autorisation qui est envoyé au client.

Mais je ne peux pas trouver le moyen d'obtenir l'en-tête HTTP dans la fiole.

Toute aide pour obtenir une autorisation d’en-tête HTTP est la bienvenue.

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

request.headers se comporte comme un dictionnaire, vous pouvez donc obtenir votre en-tête comme vous le feriez avec n'importe quel dictionnaire:

request.headers['your-header-name']
218
sanyi

il suffit de noter, la différence entre les méthodes sont, si l'en-tête n'est pas exister

request.headers.get('your-header-name')

retournera None ou aucune exception, vous pourrez donc l'utiliser comme

if request.headers.get('your-header-name'):
    ....

mais la suite jettera une erreur

if request.headers['your-header-name'] # KeyError: 'your-header-name'
    ....

Vous pouvez le gérer par

if 'your-header-name' in request.headers:
   customHeader = request.headers['your-header-name']
   ....
7
cieunteung