使用Flask,我如何读取HTTP头?我想检查客户端发送的授权头。
当前回答
让我们看看如何在Flask中获得参数,头和body。 我要在邮递员的帮助下解释一下。
参数键和值反映在API端点中。 例如端点中的key1和key2: https://127.0.0.1/upload?key1=value1&key2=value2
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.form
其他回答
from flask import request
request.headers.get('your-header-name')
请求。头文件的行为类似于字典,所以你也可以像使用任何字典一样获得你的头文件:
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']
....
让我们看看如何在Flask中获得参数,头和body。 我要在邮递员的帮助下解释一下。
参数键和值反映在API端点中。 例如端点中的key1和key2: https://127.0.0.1/upload?key1=value1&key2=value2
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.form
如果有人试图获取所有传递的头文件,那么只需简单地使用:
dict(request.headers)
它给你dict中所有的头文件,从中你可以做任何你想做的操作。在我的用例中,我必须将所有头文件转发到另一个API,因为python API是一个代理
推荐文章
- 如何在Python中进行热编码?
- 什么是“升级-不安全-请求”HTTP报头?
- 如何嵌入HTML到IPython输出?
- 在Python生成器上使用“send”函数的目的是什么?
- 是否可以将已编译的.pyc文件反编译为.py文件?
- Django模型表单对象的自动创建日期
- 在Python中包装长行
- 如何计算两个时间串之间的时间间隔
- 我如何才能找到一个Python函数的参数的数量?
- 您可以使用生成器函数来做什么?
- 将Python诗歌与Docker集成
- 向Angular HttpClient添加一个HTTP头并不会发送这个头,为什么?
- 提取和保存视频帧
- 使用请求包时出现SSL InsecurePlatform错误
- 如何检索Pandas数据帧中的列数?