go resource_error ai_generated true

错误:HTTP 响应体过大

error: http: response body too large

ID: go/http-response-body-leak

其他格式: JSON · Markdown 中文 · English
80%修复率
86%置信度
0证据数
2024-11-18首次发现

版本兼容性

版本状态引入弃用备注
1.21 active

根因分析

HTTP 响应体超过预设的最大限制,导致读取失败。

English

HTTP 响应体超过预设的最大限制,导致读取失败。

generic

解决方案

  1. 90% 成功率
    body, err := io.ReadAll(io.LimitReader(resp.Body, 1<<20))
  2. 85% 成功率
    if resp.ContentLength > 1<<20 { log.Println("响应过大") }

无效尝试

常见但无效的做法:

  1. 90% 失败

    会导致数据不完整或程序崩溃。

  2. 70% 失败

    如果恶意响应过大,会消耗大量内存。