如何获得http头在烧瓶?

我是python和使用python Flask和生成REST API服务的新手。

我想检查授权头是发送给客户端。

但我找不到方法得到HTTP头在烧瓶。

任何获得HTTP头授权的帮助都是非常感谢的。

272454 次浏览
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,因为python API是一个代理

让我们看看如何在Flask中获得参数,头和正文。 我将在邮差的帮助下解释。

enter image description here

参数键和值反映在API端点上。 例如端点中的key1key2: https://127.0.0.1/upload?key1=value1&key2=value2 < / p >
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之后,现在让我们看看如何获取:

enter image description here

header_1 = request.headers.get('header1')
header_2 = request.headers.get('header2')
print(header_1)
#--> header_value1
print(header_2)
#--> header_value2

现在让我们看看如何获取身体

enter image description here

file_name = request.files['file'].filename
ref_id = request.form['referenceId']
print(ref_id)
#--> WWB9838yb3r47484

因此我们通过请求获取上传的文件。文件和文本与request.form