我試圖通過向特定頁面發送GET請求來確定特定網站上是否存在網頁。但是,如果網頁不存在,網站會將請求重定向到主頁。為了克服這個問題,我已經實現了重定向預防,如此處所述,它看起來像func RedirectCheck(req *http.Request, via []*http.Request) error { if req.Response.StatusCode == 200 { // no redirection occured return nil } // return error code return errors.New("webpage doesn't exist")}重定向預防工作正常,但是,如果我向 發出 get 請求https://someurl.com/page1,我收到的錯誤消息是Get "https://someurl.com": webpage doesn't exist如何配置錯誤消息,以便在錯誤消息中保留原始 URL?錯誤消息應該是Get "https://someurl.com/page1": webpage doesn't exist
1 回答

九州編程
TA貢獻1785條經驗 獲得超4個贊
Client.CheckRedirect文檔說:
作為一種特殊情況,如果 CheckRedirect 返回 ErrUseLastResponse,則返回最新的響應,其主體未關閉,并帶有 nil 錯誤。
通過從函數返回ErrUseLastResponse進行修復:
func RedirectCheck(req *http.Request, via []*http.Request) error {
return http.ErroUseLastResponse
}
- 1 回答
- 0 關注
- 134 瀏覽
添加回答
舉報
0/150
提交
取消