fix: 更新 DownloadFile 函数以使用自定义 HTTP 客户端,增强 TLS 安全性并改进错误日志输出
This commit is contained in:
parent
9400e317ea
commit
fda4cca833
14
util/url.go
14
util/url.go
@ -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 {
|
||||
|
Loading…
x
Reference in New Issue
Block a user