猿问

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

如果我有一个用于 POST 请求的基本 http 处理程序,如果有效负载大于 100 KB,我该如何停止处理?

据我了解,在我的 POST 处理程序中,服务器在后台传输 POSTED 数据。但是如果我尝试访问它,它会阻止正确吗?如果大小超过 100 KB,我想停止处理。


潇潇雨雨
浏览 136回答 2
2回答

德玛西亚99

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

红颜莎娜

使用http.MaxBytesReader限制从客户端读取的数据量。执行这行代码r.Body = http.MaxBytesReader(w, r.Body, 100000)在调用 r.ParseForm、r.FormValue 或任何其他读取正文的请求方法之前。用io.LimitedReader包裹请求体限制了应用程序读取的数据量,但不一定限制服务器代表应用程序读取的数据量。检查请求内容长度是不可靠的,因为在使用分块编码时,该字段未设置为实际请求正文大小。
随时随地看视频慕课网APP

相关分类

Go
我要回答