@@ -264,6 +264,9 @@ var findSubFolderReg = regexp.MustCompile(`(?i)(?:folderlink|mbxfolder).+href="/
264
264
// 获取下载页面链接
265
265
var findDownPageParamReg = regexp .MustCompile (`<iframe.*?src="(.+?)"` )
266
266
267
+ // 获取文件ID
268
+ var findFileIDReg = regexp .MustCompile (`'/ajaxm\.php\?file=(\d+)'` )
269
+
267
270
// 获取分享链接主界面
268
271
func (d * LanZou ) getShareUrlHtml (shareID string ) (string , error ) {
269
272
var vs string
@@ -356,8 +359,16 @@ func (d *LanZou) getFilesByShareUrl(shareID, pwd string, sharePageData string) (
356
359
return nil , err
357
360
}
358
361
param ["p" ] = pwd
362
+
363
+ fileIDs := findFileIDReg .FindStringSubmatch (sharePageData )
364
+ var fileID string
365
+ if len (fileIDs ) > 1 {
366
+ fileID = fileIDs [1 ]
367
+ } else {
368
+ return nil , fmt .Errorf ("not find file id" )
369
+ }
359
370
var resp FileShareInfoAndUrlResp [string ]
360
- _ , err = d .post (d .ShareUrl + "/ajaxm.php" , func (req * resty.Request ) { req .SetFormData (param ) }, & resp )
371
+ _ , err = d .post (d .ShareUrl + "/ajaxm.php?file=" + fileID , func (req * resty.Request ) { req .SetFormData (param ) }, & resp )
361
372
if err != nil {
362
373
return nil , err
363
374
}
@@ -381,8 +392,15 @@ func (d *LanZou) getFilesByShareUrl(shareID, pwd string, sharePageData string) (
381
392
return nil , err
382
393
}
383
394
395
+ fileIDs := findFileIDReg .FindStringSubmatch (nextPageData )
396
+ var fileID string
397
+ if len (fileIDs ) > 1 {
398
+ fileID = fileIDs [1 ]
399
+ } else {
400
+ return nil , fmt .Errorf ("not find file id" )
401
+ }
384
402
var resp FileShareInfoAndUrlResp [int ]
385
- _ , err = d .post (d .ShareUrl + "/ajaxm.php" , func (req * resty.Request ) { req .SetFormData (param ) }, & resp )
403
+ _ , err = d .post (d .ShareUrl + "/ajaxm.php?file=" + fileID , func (req * resty.Request ) { req .SetFormData (param ) }, & resp )
386
404
if err != nil {
387
405
return nil , err
388
406
}
0 commit comments