@@ -70,14 +70,6 @@ func (d *Pan123Share) List(ctx context.Context, dir model.Obj, args model.ListAr
7070func (d * Pan123Share ) Link (ctx context.Context , file model.Obj , args model.LinkArgs ) (* model.Link , error ) {
7171 // TODO return link of file, required
7272 if f , ok := file .(File ); ok {
73- //var resp DownResp
74- var headers map [string ]string
75- if ! utils .IsLocalIPAddr (args .IP ) {
76- headers = map [string ]string {
77- //"X-Real-IP": "1.1.1.1",
78- "X-Forwarded-For" : args .IP ,
79- }
80- }
8173 data := base.Json {
8274 "shareKey" : d .ShareKey ,
8375 "SharePwd" : d .SharePwd ,
@@ -87,25 +79,27 @@ func (d *Pan123Share) Link(ctx context.Context, file model.Obj, args model.LinkA
8779 "size" : f .Size ,
8880 }
8981 resp , err := d .request (DownloadInfo , http .MethodPost , func (req * resty.Request ) {
90- req .SetBody (data ). SetHeaders ( headers )
82+ req .SetBody (data )
9183 }, nil )
9284 if err != nil {
9385 return nil , err
9486 }
9587 downloadUrl := utils .Json .Get (resp , "data" , "DownloadURL" ).ToString ()
96- u , err := url .Parse (downloadUrl )
88+ ou , err := url .Parse (downloadUrl )
9789 if err != nil {
9890 return nil , err
9991 }
100- nu := u .Query ().Get ("params" )
92+ u_ := ou .String ()
93+ nu := ou .Query ().Get ("params" )
10194 if nu != "" {
10295 du , _ := base64 .StdEncoding .DecodeString (nu )
103- u , err = url .Parse (string (du ))
96+ u , err : = url .Parse (string (du ))
10497 if err != nil {
10598 return nil , err
10699 }
100+ u_ = u .String ()
107101 }
108- u_ := u . String ()
102+
109103 log .Debug ("download url: " , u_ )
110104 res , err := base .NoRedirectClient .R ().SetHeader ("Referer" , "https://www.123pan.com/" ).Get (u_ )
111105 if err != nil {
@@ -122,7 +116,7 @@ func (d *Pan123Share) Link(ctx context.Context, file model.Obj, args model.LinkA
122116 link .URL = utils .Json .Get (res .Body (), "data" , "redirect_url" ).ToString ()
123117 }
124118 link .Header = http.Header {
125- "Referer" : []string {"https ://www.123pan.com/" },
119+ "Referer" : []string {fmt . Sprintf ( "%s ://%s/" , ou . Scheme , ou . Host ) },
126120 }
127121 return & link , nil
128122 }
0 commit comments