go
resource_error
ai_generated
true
错误:HTTP 响应体过大
error: http: response body too large
ID: go/http-response-body-leak
80%修复率
86%置信度
0证据数
2024-11-18首次发现
版本兼容性
| 版本 | 状态 | 引入 | 弃用 | 备注 |
|---|---|---|---|---|
| 1.21 | active | — | — | — |
根因分析
HTTP 响应体超过预设的最大限制,导致读取失败。
English
HTTP 响应体超过预设的最大限制,导致读取失败。
解决方案
-
90% 成功率
body, err := io.ReadAll(io.LimitReader(resp.Body, 1<<20))
-
85% 成功率
if resp.ContentLength > 1<<20 { log.Println("响应过大") }
无效尝试
常见但无效的做法:
-
90% 失败
会导致数据不完整或程序崩溃。
-
70% 失败
如果恶意响应过大,会消耗大量内存。