diff --git a/task/download.go b/task/download.go index cd44cb6..34690da 100644 --- a/task/download.go +++ b/task/download.go @@ -118,7 +118,7 @@ func downloadHandler(ip *net.IPAddr) (float64, string) { CheckRedirect: func(req *http.Request, via []*http.Request) error { if len(via) > 10 { // 限制最多重定向 10 次 if utils.Debug { // 调试模式下,输出更多信息 - fmt.Printf("\033[31m[调试] IP: %s, 下载测速地址重定向次数过多,终止测速,URL: %s\033[0m\n", ip.String(), req.URL.String()) + fmt.Printf("\033[31m[调试] IP: %s, 下载测速地址重定向次数过多,终止测速,下载测速地址: %s\033[0m\n", ip.String(), req.URL.String()) } return http.ErrUseLastResponse } @@ -131,7 +131,7 @@ func downloadHandler(ip *net.IPAddr) (float64, string) { req, err := http.NewRequest("GET", URL, nil) if err != nil { if utils.Debug { // 调试模式下,输出更多信息 - fmt.Printf("\033[31m[调试] IP: %s, 下载测速请求创建失败,错误信息: %v, URL: %s\033[0m\n", ip.String(), err, URL) + fmt.Printf("\033[31m[调试] IP: %s, 下载测速请求创建失败,错误信息: %v, 下载测速地址: %s\033[0m\n", ip.String(), err, URL) } return 0.0, "" } @@ -141,14 +141,18 @@ func downloadHandler(ip *net.IPAddr) (float64, string) { response, err := client.Do(req) if err != nil { if utils.Debug { // 调试模式下,输出更多信息 - fmt.Printf("\033[31m[调试] IP: %s, 下载测速失败,错误信息: %v, URL: , 最终URL: %s%s\033[0m\n", ip.String(), err, URL, response.Request.URL.String()) + finalURL := URL // 默认的最终 URL,这样当 response 为空时也能输出 + if response != nil && response.Request != nil && response.Request.URL != nil { // 如果 response 和 URL 存在,则获取最终 URL + finalURL = response.Request.URL.String() + } + fmt.Printf("\033[31m[调试] IP: %s, 下载测速失败,错误信息: %v, 下载测速地址: %s, 最终地址(如有重定向): %s\033[0m\n", ip.String(), err, URL, finalURL) } return 0.0, "" } defer response.Body.Close() if response.StatusCode != 200 { if utils.Debug { // 调试模式下,输出更多信息 - fmt.Printf("\033[31m[调试] IP: %s, 下载测速终止,HTTP 状态码: %d, URL: %s, 最终URL: %s\033[0m\n", ip.String(), response.StatusCode, URL, response.Request.URL.String()) + fmt.Printf("\033[31m[调试] IP: %s, 下载测速终止,HTTP 状态码: %d, 下载测速地址: %s, 最终地址(如有重定向): %s\033[0m\n", ip.String(), response.StatusCode, URL, response.Request.URL.String()) } return 0.0, "" }