From c6b6f3b2e5c1f86d3a3943c96b6022d95f85fe6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=99=E6=B3=93=E9=93=AE?= Date: Wed, 14 Aug 2024 16:30:06 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=B8=8B=E8=BD=BDeapi=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E9=99=90=E5=88=B6=E9=83=81=E9=97=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hrp/internal/builtin/utils.go | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/hrp/internal/builtin/utils.go b/hrp/internal/builtin/utils.go index 08f264e4..f05eb2b3 100644 --- a/hrp/internal/builtin/utils.go +++ b/hrp/internal/builtin/utils.go @@ -13,6 +13,7 @@ import ( "math/rand" "net" "net/http" + "net/url" "os" "path/filepath" "reflect" @@ -512,8 +513,17 @@ func GetCurrentDay() string { return formattedDate } -func DownloadFile(filePath string, url string) error { - log.Info().Str("filePath", filePath).Str("url", url).Msg("download file") +func DownloadFile(filePath string, fileUrl string) error { + log.Info().Str("filePath", filePath).Str("url", fileUrl).Msg("download file") + parsedURL, err := url.Parse(fileUrl) + if err != nil { + return err + } + + if parsedURL.Host != "gtf-eapi-cn.bytedance.com" { + return errors.New("invalid domain: must be gtf-eapi-cn.bytedance.com") + } + out, err := os.Create(filePath) if err != nil { return err @@ -521,7 +531,7 @@ func DownloadFile(filePath string, url string) error { defer out.Close() // 创建一个新的 HTTP 请求 - req, err := http.NewRequest("GET", url, nil) + req, err := http.NewRequest("GET", fileUrl, nil) if err != nil { return err }