获取请求中的信息用flask中自带的request
模块
from flask import request
from flask import Flask
from flask import request
app = Flask(__name__)
@app.route("/data", methods=["GET", "POST"])
def data():
# 能获取json,xml等任何的数据,但要将byte类型转换格式
data = request.data
# 只可以获取json数据
json_data = request.json
# 获取GET请求中的数据
args_data = request.args
# 只能获取form表单中的数据
form_data = request.form
print("data: %s" % data) #
print("json: %s" % json_data)
print("form: %s" % form_data) # form: ImmutableMultiDict([('A', 'BB'), ('A', 'SS')])
print("form: %s" % form_data.get("A")) # form: BB
print("form: %s" % form_data.getlist("A")) # form: ['BB', 'SS']
print("args: %s " % args_data)
# 获取GET请求中单个属性
print("args: %s " % args_data.get("A"))
# 获取GET请求中相同属性的多个值,返回一个列表
print("args: %s " % args_data.getlist("A"))
return "OK"
if __name__ == '__main__':
app.run(host="localhost", port=8989, debug=True)
request.data
data属性返回的是byte类型,因此要自己转换byte类型为其他类型。
这是最麻烦的,因为要自己转换数据类型。实际Flask中已经有其他方法获取已经转换好类型的数据。
request.args
主要用于GET
请求中。获取请求中的请求属性。
如果GET请求中多个相同属性名,用getlist("value")
。返回一个包含值的列表。
如果获取单个属性,用get("value")
,返回对应属性的值。
网友评论