@@ -70,14 +70,6 @@ func (d *Pan123Share) List(ctx context.Context, dir model.Obj, args model.ListAr
70
70
func (d * Pan123Share ) Link (ctx context.Context , file model.Obj , args model.LinkArgs ) (* model.Link , error ) {
71
71
// TODO return link of file, required
72
72
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
- }
81
73
data := base.Json {
82
74
"shareKey" : d .ShareKey ,
83
75
"SharePwd" : d .SharePwd ,
@@ -87,25 +79,27 @@ func (d *Pan123Share) Link(ctx context.Context, file model.Obj, args model.LinkA
87
79
"size" : f .Size ,
88
80
}
89
81
resp , err := d .request (DownloadInfo , http .MethodPost , func (req * resty.Request ) {
90
- req .SetBody (data ). SetHeaders ( headers )
82
+ req .SetBody (data )
91
83
}, nil )
92
84
if err != nil {
93
85
return nil , err
94
86
}
95
87
downloadUrl := utils .Json .Get (resp , "data" , "DownloadURL" ).ToString ()
96
- u , err := url .Parse (downloadUrl )
88
+ ou , err := url .Parse (downloadUrl )
97
89
if err != nil {
98
90
return nil , err
99
91
}
100
- nu := u .Query ().Get ("params" )
92
+ u_ := ou .String ()
93
+ nu := ou .Query ().Get ("params" )
101
94
if nu != "" {
102
95
du , _ := base64 .StdEncoding .DecodeString (nu )
103
- u , err = url .Parse (string (du ))
96
+ u , err : = url .Parse (string (du ))
104
97
if err != nil {
105
98
return nil , err
106
99
}
100
+ u_ = u .String ()
107
101
}
108
- u_ := u . String ()
102
+
109
103
log .Debug ("download url: " , u_ )
110
104
res , err := base .NoRedirectClient .R ().SetHeader ("Referer" , "https://www.123pan.com/" ).Get (u_ )
111
105
if err != nil {
@@ -122,7 +116,7 @@ func (d *Pan123Share) Link(ctx context.Context, file model.Obj, args model.LinkA
122
116
link .URL = utils .Json .Get (res .Body (), "data" , "redirect_url" ).ToString ()
123
117
}
124
118
link .Header = http.Header {
125
- "Referer" : []string {"https ://www.123pan.com/" },
119
+ "Referer" : []string {fmt . Sprintf ( "%s ://%s/" , ou . Scheme , ou . Host ) },
126
120
}
127
121
return & link , nil
128
122
}
0 commit comments