如果我有一個用于 POST 請求的基本 http 處理程序,如果有效負載大于 100 KB,我該如何停止處理?據我了解,在我的 POST 處理程序中,服務器在后臺傳輸 POSTED 數據。但是如果我嘗試訪問它,它會阻止正確嗎?如果大小超過 100 KB,我想停止處理。
2 回答

德瑪西亞99
TA貢獻1770條經驗 獲得超3個贊
我相信您可以簡單地檢查http.Request.ContentLength
param 以了解已發布請求的大小,然后再決定是否繼續或如果大于預期則返回錯誤。

紅顏莎娜
TA貢獻1842條經驗 獲得超13個贊
使用http.MaxBytesReader限制從客戶端讀取的數據量。執行這行代碼
r.Body = http.MaxBytesReader(w, r.Body, 100000)
在調用 r.ParseForm、r.FormValue 或任何其他讀取正文的請求方法之前。
用io.LimitedReader包裹請求體限制了應用程序讀取的數據量,但不一定限制服務器代表應用程序讀取的數據量。
檢查請求內容長度是不可靠的,因為在使用分塊編碼時,該字段未設置為實際請求正文大小。
- 2 回答
- 0 關注
- 160 瀏覽
添加回答
舉報
0/150
提交
取消