go config_error ai_generated true

error: net/http: stopped after 10 redirects

ID: go/net-http-client-does-not-follow-redirects

Also available as: JSON · Markdown · 中文
80%Fix Rate
84%Confidence
0Evidence
2025-09-10First Seen

Version Compatibility

VersionStatusIntroducedDeprecatedNotes
1.20 active
1.21 active

Root Cause

The HTTP client stopped following redirects after reaching the default maximum of 10 redirects, often due to a redirect loop.

generic

中文

HTTP客户端在达到默认的最大10次重定向后停止跟随,通常由于重定向循环。

Workarounds

  1. 90% success Set a custom CheckRedirect function to limit and log redirects
    client := &http.Client{
        CheckRedirect: func(req *http.Request, via []*http.Request) error {
            if len(via) >= 5 { return http.ErrUseLastResponse }
            return nil
        },
    }

Dead Ends

Common approaches that don't work:

  1. Increasing CheckRedirect limit without fixing loop 60% fail

    May cause infinite loop; fix the redirect logic.