栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

是否可以限制每个路由的Flask POST数据大小?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

是否可以限制每个路由的Flask POST数据大小?

你需要检查一下特定路线本身;你可以随时测试内容长度;

request.content_length
是一个
None
或整数值:

cl = request.content_lengthif cl is not None and cl > 3 * 1024 * 1024:    abort(413)

在访问请求中的表单或文件数据之前,请执行此操作。

你可以将其变成装饰器以供查看:

from functools import wrapsfrom flask import request, abortdef limit_content_length(max_length):    def decorator(f):        @wraps(f)        def wrapper(*args, **kwargs): cl = request.content_length if cl is not None and cl > max_length:     abort(413) return f(*args, **kwargs)        return wrapper    return decorator

然后将其用作:

@app.route('/...')@limit_content_length(3 * 1024 * 1024)def your_view():    # ...

本质上这就是Flask所做的;当你尝试访问请求数据时,在尝试解析请求正文之前,首先检查Content-Length标头。使用装饰器或手动检查,你只是进行了相同的测试,但是在视图生命周期中稍早一些。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/373549.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号