IT

플라스크에 http 헤더를 얻는 방법?

lottoking 2020. 6. 16. 07:57
반응형

플라스크에 http 헤더를 얻는 방법?


파이썬을 처음 접하고 Python Flask를 사용하고 REST API 서비스를 생성합니다.

클라이언트에게 전송 된 인증 헤더를 확인하고 싶습니다.

그러나 플라스크에서 HTTP 헤더를 얻는 방법을 찾을 수 없습니다.

HTTP 헤더 인증을 얻는 데 도움을 주시면 감사하겠습니다.


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

request.headers 사전처럼 동작하므로 다른 사전에서와 같이 헤더를 가져올 수도 있습니다.

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

헤더가 존재하지 않는 경우 메소드 간의 차이점은

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

반환 None하거나 예외가 없으므로 다음과 같이 사용할 수 있습니다.

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

그러나 다음은 오류가 발생합니다

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

당신은 그것을 처리 할 수 ​​있습니다

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

전달 된 모든 헤더를 가져 오려는 사람은 다음을 사용하십시오.

dict(request.headers)

그것은 당신이 실제로 원하는 작전을 할 수있는 dict의 모든 헤더를 제공합니다. 내 유스 케이스에서는 파이썬 API가 프록시이기 때문에 모든 헤더를 다른 API로 전달해야했습니다.

참고 URL : https://stackoverflow.com/questions/29386995/how-to-get-http-headers-in-flask

반응형