fix: 更新 DownloadFile 函数以使用自定义 HTTP 客户端,增强 TLS 安全性并改进错误日志输出

This commit is contained in:
lixiangwuxian 2025-04-10 02:03:04 +08:00
parent 9400e317ea
commit fda4cca833

View File

@ -2,6 +2,7 @@ package util
import (
"bytes"
"crypto/tls"
"fmt"
"io"
"net/http"
@ -65,12 +66,21 @@ func normalizeURL(rawURL string) string {
// DownloadFile 下载文件到指定目录,返回带有正确扩展名的完整文件路径
func DownloadFile(url string, dirPath string) (filepath string, err error) {
// 创建自定义的HTTP客户端
client := &http.Client{
Transport: &http.Transport{
TLSClientConfig: &tls.Config{
InsecureSkipVerify: true,
},
},
}
// 发送 HTTP GET 请求
var resp *http.Response
var maxRetry = 100
var retry = 0
for resp, err = http.Get(url); err != nil && retry < maxRetry; resp, err = http.Get(url) {
fmt.Println("下载失败,正在重试...")
for resp, err = client.Get(url); err != nil && retry < maxRetry; resp, err = client.Get(url) {
fmt.Printf("下载失败,正在重试... 错误: %v\n", err)
retry++
}
if err != nil {