请求响应
请求简介
- Flask的request对象几乎包含了所有的HTTP请求信息
属性 |
说明 |
request.url |
完整的路由地址 |
request.base_url |
不包含get参数的路由地址 |
request.host |
只包含主机和端口 |
request.host_url |
只包含协议主机和端口 |
request.full_path |
完整路由中除了host_url的部分 |
request.path |
只包含路由装饰器中的地址 |
equest.method |
请求方法的类型:GET、POST |
request.remote_addr |
远程客户端IP地址 |
request.args |
所有的GET参数 |
request.form |
所有的POST参数 |
request.values |
所有的GET和POST参数 |
request.json |
所有的JSON参数 |
request.files |
所有的上传文件信息 |
request.headers |
所有的请求头信息 |
请求总结
- args、form、values、json、files、headers都继承自MultiDict,支持一键多值的情况
- request.xxx.get(key)获取键对应的值(返回第一个)
- request.xxx.getlist(key)获取键对应的值的列表(即使只有一个值)
- request.xxx.to_dict(flat)转换为字典,flat为True(默认)字典的值为第一个,flat为False字典的值为列表
- 示例:请求
http://localhost:5000/?like=sport&like=music
request.args.get('like')
request.args.getlist('like')
request.args.to_dict()
request.args.to_dict(False)
响应示例
from flask import make_response
@app.route('/response/')
def response():
resp = make_response('我是通过函数创建的响应', 404)
resp.headers['uid'] = 250
return resp
响应总结
- 可以返回一个字符串
- 可以指定状态码,默认为200
- 可以指定响应头信息,一个字典即可
- 可以使用专门的函数
make_response
构建响应