fish2018/pansou · error
提取链接失败
Error message
提取链接失败
What it means
Extraction failure in PanyqPlugin.getFinalLink (plugin/panyq/panyq.go:1152): neither JSON parsing nor the URL regex found a pan/magnet link in the final step's response text, so no link can be returned. Indicates an unexpected or empty final response.
Solutions
- 记录响应文本核对提取逻辑
- 更新链接匹配正则覆盖新格式
- 该场景返回空并标记资源失效
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at plugin/panyq/panyq.go:1152 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/a8d9217e0dbb6012.
Report an issue: GitHub.
Appendix: source
Thrown at plugin/panyq/panyq.go:1152
finalLink = url
}
}
}
}
}
// 如果JSON解析失败,尝试使用正则表达式
if finalLink == "" {
urlRegex := regexp.MustCompile(`(https?://[^\s"'<>]+|magnet:\?[^\s"'<>]+)`)
urlMatch := urlRegex.FindStringSubmatch(responseText)
if len(urlMatch) > 0 {
finalLink = urlMatch[0]
}
}
if finalLink == "" {
return "", fmt.Errorf("提取链接失败")
}
// 保存链接到缓存
finalLinkCacheLock.Lock()
finalLinkCache[linkCacheKey] = finalLink
finalLinkCacheLock.Unlock()
return finalLink, nil
}
// determineLinkType 根据URL确定链接类型
func (p *PanyqPlugin) determineLinkType(url string) string {
lowerURL := strings.ToLower(url)
switch {
case strings.Contains(lowerURL, "pan.baidu.com"):
return "baidu"
case strings.Contains(lowerURL, "alipan.com") || strings.Contains(lowerURL, "aliyundrive.com"):View on GitHub (pinned to beaa561337)