{"record":{"id":"41bd9b9f9a5b2499","repo":"fish2018/pansou","slug":"s-w-41bd9b","errorCode":null,"errorMessage":"[%s] 创建详情请求失败: %w","messagePattern":"\\[(.+?)\\] 创建详情请求失败: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"plugin/yulinshufa/yulinshufa.go","lineNumber":312,"sourceCode":"\t}\n\n\twg.Wait()\n\treturn results\n}\n\nfunc (p *YulinshufaPlugin) getDetailResult(item searchItem) (*model.SearchResult, error) {\n\tcacheKey := item.DetailURL\n\tif cached, ok := p.loadFromCache(cacheKey); ok {\n\t\tp.debugf(\"详情缓存命中: %s\", cacheKey)\n\t\treturn &cached, nil\n\t}\n\n\tctx, cancel := context.WithTimeout(context.Background(), detailTimeout)\n\tdefer cancel()\n\n\treq, err := http.NewRequestWithContext(ctx, http.MethodGet, item.DetailURL, nil)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"[%s] 创建详情请求失败: %w\", p.Name(), err)\n\t}\n\tp.decorateCommonHeaders(req)\n\treq.Header.Set(\"Referer\", baseURL+\"/\")\n\tp.debugf(\"请求详情: %s\", item.DetailURL)\n\n\tresp, err := p.doRequestWithRetry(p.detailHTTPClient, req, requestMaxRetries)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"[%s] 请求详情失败: %w\", p.Name(), err)\n\t}\n\tdefer resp.Body.Close()\n\n\tdoc, err := p.buildGBKDocument(resp.Body)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"[%s] 解析详情失败: %w\", p.Name(), err)\n\t}\n\n\tresult := p.parseDetailDocument(doc, item)\n\tif result == nil {","sourceCodeStart":294,"sourceCodeEnd":330,"githubUrl":"https://github.com/fish2018/pansou/blob/beaa56133755a548ebc51b090b3816e2ae044aa6/plugin/yulinshufa/yulinshufa.go#L294-L330","documentation":"http.NewRequestWithContext rejected a yulinshufa detail URL taken from search results (item.DetailURL). Fires on malformed scraped links — a bad href captured during list parsing. Not a network failure.","triggerScenarios":"Thrown at plugin/yulinshufa/yulinshufa.go:312 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Validate/absolutize scraped hrefs at extraction time","Skip items with unparseable detail URLs"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"beaa56133755a548ebc51b090b3816e2ae044aa6","analyzedAt":"2026-09-07T00:31:18.025Z","contentChangedAt":"2026-09-07T00:31:18.025Z","schemaVersion":2},"datasetVersion":"2026-09-15T23:17:13.987Z"}