fish2018/pansou · error
HTTP status code
Error message
HTTP status code: %d
What it means
Status error in panyq's getRawFinalLinkResponse (plugin/panyq/panyq.go:917): the next-action endpoint responded with a non-200 status after retries, so the final-link payload cannot be fetched. Used by validateFinalLinkID and getFinalLink.
Solutions
- 对 429/503 增加退避重试
- 检查请求头与 Cookie 是否有效
- 记录状态码定位拦截原因
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at plugin/panyq/panyq.go:917 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of fish2018/pansou@beaa561337 (2026-09-07).
Data as JSON: /api/errors/cca12bed85ff745d.
Report an issue: GitHub.
Appendix: source
Thrown at plugin/panyq/panyq.go:917
}
// 发送请求并支持重试
resp, err := p.doRequestWithRetry(client, req, MaxRetries)
if err != nil {
// 网络错误等情况下返回空字符串和错误
if DebugLog {
fmt.Println("panyq: network error:", err)
}
return "", err
}
defer resp.Body.Close()
// 检查状态码
if resp.StatusCode != http.StatusOK {
if DebugLog {
fmt.Println("panyq: bad status code:", resp.StatusCode)
}
return "", fmt.Errorf("HTTP status code: %d", resp.StatusCode)
}
// 读取原始响应
body, err := io.ReadAll(resp.Body)
if err != nil {
// 读取错误时返回空字符串和错误
if DebugLog {
fmt.Println("panyq: read error:", err)
}
return "", err
}
responseText := string(body)
// 保存到缓存
finalLinkCacheLock.Lock()
finalLinkCache[cacheKey] = responseText
finalLinkCacheLock.Unlock()View on GitHub (pinned to beaa561337)