为了账号安全,请及时绑定邮箱和手机立即绑定

如果 http POST 请求大于 x 大小,则停止处理它

如果 http POST 请求大于 x 大小,则停止处理它

Go
潇潇雨雨 2021-11-22 17:05:39
如果我有一个用于 POST 请求的基本 http 处理程序,如果有效负载大于 100 KB,我该如何停止处理?据我了解,在我的 POST 处理程序中,服务器在后台传输 POSTED 数据。但是如果我尝试访问它,它会阻止正确吗?如果大小超过 100 KB,我想停止处理。
查看完整描述

2 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

我相信您可以简单地检查http.Request.ContentLengthparam 以了解已发布请求的大小,然后再决定是否继续或如果大于预期则返回错误。


查看完整回答
反对 回复 2021-11-22
?
红颜莎娜

TA贡献1842条经验 获得超12个赞

使用http.MaxBytesReader限制从客户端读取的数据量。执行这行代码

r.Body = http.MaxBytesReader(w, r.Body, 100000)

在调用 r.ParseForm、r.FormValue 或任何其他读取正文的请求方法之前。

io.LimitedReader包裹请求体限制了应用程序读取的数据量,但不一定限制服务器代表应用程序读取的数据量。

检查请求内容长度是不可靠的,因为在使用分块编码时,该字段未设置为实际请求正文大小。


查看完整回答
反对 回复 2021-11-22
  • 2 回答
  • 0 关注
  • 135 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信