mirror of https://github.com/Xhofe/alist
parent
331885ed64
commit
b8bd14f99b
|
@ -120,9 +120,9 @@ var findKVReg = regexp.MustCompile(`'(.+?)':('?([^' },]*)'?)`) // 拆分kv
|
||||||
func findJSVarFunc(key, data string) string {
|
func findJSVarFunc(key, data string) string {
|
||||||
var values []string
|
var values []string
|
||||||
if key != "sasign" {
|
if key != "sasign" {
|
||||||
values = regexp.MustCompile(`var ` + key + ` = '(.+?)';`).FindStringSubmatch(data)
|
values = regexp.MustCompile(`var ` + key + `\s*=\s*['"]?(.+?)['"]?;`).FindStringSubmatch(data)
|
||||||
} else {
|
} else {
|
||||||
matches := regexp.MustCompile(`var `+key+` = '(.+?)';`).FindAllStringSubmatch(data, -1)
|
matches := regexp.MustCompile(`var `+key+`\s*=\s*['"]?(.+?)['"]?;`).FindAllStringSubmatch(data, -1)
|
||||||
if len(matches) == 3 {
|
if len(matches) == 3 {
|
||||||
values = matches[1]
|
values = matches[1]
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -264,6 +264,9 @@ var findSubFolderReg = regexp.MustCompile(`(?i)(?:folderlink|mbxfolder).+href="/
|
||||||
// 获取下载页面链接
|
// 获取下载页面链接
|
||||||
var findDownPageParamReg = regexp.MustCompile(`<iframe.*?src="(.+?)"`)
|
var findDownPageParamReg = regexp.MustCompile(`<iframe.*?src="(.+?)"`)
|
||||||
|
|
||||||
|
// 获取文件ID
|
||||||
|
var findFileIDReg = regexp.MustCompile(`'/ajaxm\.php\?file=(\d+)'`)
|
||||||
|
|
||||||
// 获取分享链接主界面
|
// 获取分享链接主界面
|
||||||
func (d *LanZou) getShareUrlHtml(shareID string) (string, error) {
|
func (d *LanZou) getShareUrlHtml(shareID string) (string, error) {
|
||||||
var vs string
|
var vs string
|
||||||
|
@ -356,8 +359,16 @@ func (d *LanZou) getFilesByShareUrl(shareID, pwd string, sharePageData string) (
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
param["p"] = pwd
|
param["p"] = pwd
|
||||||
|
|
||||||
|
fileIDs := findFileIDReg.FindStringSubmatch(sharePageData)
|
||||||
|
var fileID string
|
||||||
|
if len(fileIDs) > 1 {
|
||||||
|
fileID = fileIDs[1]
|
||||||
|
} else {
|
||||||
|
return nil, fmt.Errorf("not find file id")
|
||||||
|
}
|
||||||
var resp FileShareInfoAndUrlResp[string]
|
var resp FileShareInfoAndUrlResp[string]
|
||||||
_, err = d.post(d.ShareUrl+"/ajaxm.php", func(req *resty.Request) { req.SetFormData(param) }, &resp)
|
_, err = d.post(d.ShareUrl+"/ajaxm.php?file="+fileID, func(req *resty.Request) { req.SetFormData(param) }, &resp)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -381,8 +392,15 @@ func (d *LanZou) getFilesByShareUrl(shareID, pwd string, sharePageData string) (
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fileIDs := findFileIDReg.FindStringSubmatch(nextPageData)
|
||||||
|
var fileID string
|
||||||
|
if len(fileIDs) > 1 {
|
||||||
|
fileID = fileIDs[1]
|
||||||
|
} else {
|
||||||
|
return nil, fmt.Errorf("not find file id")
|
||||||
|
}
|
||||||
var resp FileShareInfoAndUrlResp[int]
|
var resp FileShareInfoAndUrlResp[int]
|
||||||
_, err = d.post(d.ShareUrl+"/ajaxm.php", func(req *resty.Request) { req.SetFormData(param) }, &resp)
|
_, err = d.post(d.ShareUrl+"/ajaxm.php?file="+fileID, func(req *resty.Request) { req.SetFormData(param) }, &resp)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue