开始一张图,后面全靠编。
开始,Flask的Request工具供应了很多属性和方法,可以方便地获取HTTP要求的干系信息。以下是一些常用的属性和方法,以大略的示例解释:
获取HTTP要求的方法,比如GET、POST、PUT等。示例代码:

from flask import Flask, requestapp = Flask(__name__)@app.route('/', methods=['GET', 'POST'])def index(): method = request.method return f'The HTTP method is {method}'
request.args
获取HTTP要求中的查询参数,以字典的形式返回。示例代码:
from flask import Flask, requestapp = Flask(__name__)@app.route('/')def index(): name = request.args.get('name', 'Anonymous') return f'Hello, {name}!'
获取HTTP POST要求中的表单数据,以字典的形式返回。示例代码:
from flask import Flask, requestapp = Flask(__name__)@app.route('/', methods=['POST'])def index(): username = request.form.get('username') password = request.form.get('password') return f'Username: {username}, Password: {password}'
获取HTTP要求中的Cookie信息,以字典的形式返回。示例代码:
from flask import Flask, requestapp = Flask(__name__)@app.route('/')def index(): username = request.cookies.get('username') return f'Hello, {username}!'
获取HTTP要求的客户端IP地址。示例代码:
from flask import Flask, requestapp = Flask(__name__)@app.route('/')def index(): ip = request.remote_addr return f'Your IP address is {ip}'
request.headers
获取HTTP要求的头信息,以字典的形式返回。示例代码:
from flask import Flask, requestapp = Flask(__name__)@app.route('/')def index(): user_agent = request.headers.get('User-Agent') return f'Your User-Agent is {user_agent}'
以上是常用的一些request属性和方法,通过它们可以方便地获取HTTP要求的干系信息。
以下是对request.get_json()、request.data和request.files的举例解释:
request.get_json()用于获取POST、PUT等要求中的JSON数据。示例代码:
from flask import Flask, requestapp = Flask(__name__)@app.route('/', methods=['POST'])def index(): data = request.get_json() name = data.get('name') age = data.get('age') return f'Name: {name}, Age: {age}'
在这个例子中,我们利用request.get_json()获取POST要求中的JSON数据,然后从字典中获取name和age字段的值。
request.data用于获取原始的要求数据,常日用于处理非表单数据,比如XML或JSON数据。示例代码:
from flask import Flask, requestapp = Flask(__name__)@app.route('/', methods=['POST'])def index(): data = request.data # 处理XML或JSON数据 return 'Success'
在这个例子中,我们利用request.data获取POST要求中的原始数据,然后可以根据数据类型进行相应的处理。
request.files用于获取上传的文件数据。示例代码:
from flask import Flask, requestapp = Flask(__name__)@app.route('/', methods=['POST'])def index(): file = request.files['file'] file.save('/path/to/save/file') return 'Success'
在这个例子中,我们利用request.files获取上传的文件数据,然后将文件保存到指定的路径中。须要把稳的是,request.files返回的是一个字典,可以根据表单中的文件字段名来获取对应的文件数据。
你学会了吗?
civilpy:Python数据剖析及可视化实例目录