flask request 对象
这个对象是WEB客户端发送到web服务端的全局请求对象,request需要从flask模块中导入。
form args cookies files method
request监听如下信息:
1、form(POST) -> ImmutableMultiDict
一般为接收web客户端通过post方式发送。
request.form 方法
参考args方法
测试:curl -d "name=zwhset&age=14" "http://10.1.0.123:8080/"
2、args(GET) -> ImmutableMultiDict
接收web客户端get请求并对?号后面的key&value进行解析
exp:http://10.1.0.123:8080/?name=zwhset&age=14
ImmutableMultiDict([('age', u'14'), ('name', u'zwhset')])
我们可以通过to_dict()方法获取一个字典对象
result = request.args
get_args = result.to_dict()#转换成一个字典对象
{'age': u'14', 'name': u'zwhset'}
测试:curl "http://10.1.0.123:8080/?name=zwhset&age=14"
最佳实践:
可转换成字典类型,把数据往模块方法里扔,同时模块方法里面做验证以及处理。
3、cookies -> dict
字典保存着cookies的名称和值
测试:curl -b "a=1;b=2;c=3" "http://10.1.0.123:8080/?name=zwhset&age=14"
注意:curl发送cookies不同于get与post,要用;分号结尾。
4、files -> dict
用于保存文件的上传数据
注意:客户端需要在form标签里声明 enctype="multipart/form-data",可上传多个文件
files["the_file"]的方法 #the_file表示input的name
['close', 'content_length', 'content_type', 'filename', 'headers', 'mimetype', 'mimetype_params', 'name', 'save', 'stream']
再利用save方法进行文件存储,用filename可获取客户端传上来的文件名
注意:要对客户端上传的数据进行检查,例如文件名可用secure_filename()来进行检查
5、method
当前请求的模式,一般为字符串。
exp:request.method 获取client 请求方式