From 18165eb50d57a19b42d9c3f863ef3535a006c813 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B5=85=E7=A7=8B=E6=9E=AB=E5=BD=B1?= Date: Thu, 27 Oct 2022 17:02:35 +0800 Subject: [PATCH] fix(123): get real url (#2135) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 123 今天更新多加了一层跳转`https://web-pro.cjjd18.com/download/?params=base64encode(rawurl)`,导致ip如果不符则可能下载返回403,在服务器端处理获取rawurl --- drivers/123/driver.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/123/driver.go b/drivers/123/driver.go index c6d52874..48bf0c09 100644 --- a/drivers/123/driver.go +++ b/drivers/123/driver.go @@ -6,6 +6,7 @@ import ( "crypto/md5" "encoding/binary" "encoding/hex" + "encoding/base64" "fmt" "io" "net/http" @@ -96,6 +97,14 @@ func (d *Pan123) Link(ctx context.Context, file model.Obj, args model.LinkArgs) if err != nil { return nil, err } + nu := u.Query().Get("params") + if nu != "" { + du, _ := base64.StdEncoding.DecodeString(nu) + u, err = url.Parse(string(du)) + if err != nil { + return nil, err + } + } u_ := fmt.Sprintf("https://%s%s", u.Host, u.Path) res, err := base.NoRedirectClient.R().SetQueryParamsFromValues(u.Query()).Head(u_) if err != nil {