파이썬을 처음 접하고 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로 전달해야했습니다.
답변
Flask에서 매개 변수, 헤더 및 본문을 얻는 방법을 살펴 보겠습니다. 우편 배달부의 도움으로 설명하겠습니다.
params 키와 값은 API 엔드 포인트에 반영됩니다. 예를 들어 엔드 포인트의 key1 및 key2 :
https://127.0.0.1/upload ? 키 1 = 값 1 & 키 2 = 값 2
from flask import Flask, request
app = Flask(__name__)
@app.route('/upload')
def upload():
key_1 = request.args.get('key1')
key_2 = request.args.get('key2')
print(key_1)
#--> value1
print(key_2)
#--> value2
params 후에 헤더 를 얻는 방법을 살펴 보겠습니다 .
header_1 = request.headers.get('header1')
header_2 = request.headers.get('header2')
print(header_1)
#--> header_value1
print(header_2)
#--> header_value2
이제 몸 을 얻는 법을 보자
file_name = request.files['file'].filename
ref_id = request.form['referenceId']
print(ref_id)
#--> WWB9838yb3r47484
request.files로 업로드 한 파일과 request.form으로 텍스트를 가져옵니다.
답변
![](http://daplus.net/wp-content/uploads/2023/04/coupang_part-e1630022808943-2.png)