|
<火山程序 类型 = "通常" 版本 = 1 />
方法 云盘解析直链_123 <公开 折叠>
参数 解析地址 <类型 = 文本型>
{
变量 json <类型 = 水淼JSON类>
变量 网页数据 <类型 = 文本型>
变量 g_initialProps <类型 = 文本型 注释 = "解析地址中取出的json表">
网页数据 = UTF8到文本 (网页_访问_对象 (解析地址, , , , , , , , , , , , , , ))
// 网页数据 = UTF8到文本 (网页_访问lky (解析地址, , , , , , , , , , ))
// 调试输出 (网页数据)
g_initialProps = 文本_取出中间文本 (网页数据, "g_initialProps =", ";", , )
json.解析 (g_initialProps, , )
变量 ShareKey <类型 = 文本型>
ShareKey = json.读路径值 ("//res.data.ShareKey", , , , )
变量 S3keyFlag <类型 = 文本型>
S3keyFlag = json.读路径值 ("//reslist.data.InfoList[0].S3KeyFlag", , , , )
变量 FileID <类型 = 文本型>
FileID = json.读路径值 ("//reslist.data.InfoList[0].FileId", , , , )
变量 Etag <类型 = 文本型>
Etag = json.读路径值 ("//reslist.data.InfoList[0].Etag", , , , )
变量 publicPath <类型 = 文本型>
publicPath = json.读路径值 ("publicPath", , , , )
子文本替换 (publicPath, "\\u002F", "/", , , ) // 由于火山pc\\为转义符的原因 这里用子文本替换
变量 文件名称 <类型 = 文本型>
文件名称 = json.读路径值 ("//reslist.data.InfoList[0].FileName", , , , )
变量 文件大小 <类型 = 文本型>
文件大小 = json.读路径值 ("//reslist.data.InfoList[0].Size", , , , )
变量 json数据 <类型 = 文本型>
json数据 = "\"ShareKey\":" + "\"" + ShareKey + "\","
json数据 = json数据 + "\"S3keyFlag\":" + "\"" + S3keyFlag + "\","
json数据 = json数据 + "\"FileID\":" + "\"" + FileID + "\","
json数据 = json数据 + "\"Etag\":" + "\"" + Etag + "\","
json数据 = json数据 + "\"Size\":" + "\"" + 文件大小 + "\""
json数据 = "{" + json数据 + "}"
// 调试输出 (publicPath, json数据)
网页数据 = UTF8到文本 (网页_访问_对象 (publicPath + "share/download/info", 1, json数据, , "content-type:application/json;charset=UTF-8", , , , , , , , , , ))
变量 message <类型 = 文本型>
json.解析 (网页数据, , )
message = json.读路径值 ("message", , , , )
如果真 (message == "分享页面下载操作频繁,请稍后再试")
{
如果 (寻找文本 (publicPath, "/a/a", , ) > 0)
{
子文本替换 (publicPath, "/a/a", "/b/a", , , )
}
否则 (寻找文本 (publicPath, "/b/a", , ) > 0)
{
子文本替换 (publicPath, "/b/a", "/a/a", , , )
}
}
网页数据 = UTF8到文本 (网页_访问_对象 (publicPath + "share/download/info", 1, json数据, , "content-type:application/json;charset=UTF-8", , , , , , , , , , ))
// 调试输出 ("publicPath", publicPath)
// 调试输出 ("message", message)
调试输出 (网页数据)
json.解析 (网页数据, , )
变量 DownloadURL <类型 = 文本型>
DownloadURL = json.读路径值 ("//data.DownloadURL", , , , )
变量 params <类型 = 文本型>
params = 文本_取右边 (DownloadURL, "params=", , )
子文本替换 (params, "\\u0026is_s3=0", "", , , ) // 不知道为什么 带上这些就没法解码Base64
变量 解码 <类型 = FOFHTTP_HTTP辅助>
变量 直链地址 <类型 = 文本型>
//调试输出 (params)
直链地址 = 解码.Base64文本解码 (params)
//调试输出 (直链地址)
直链地址 = 文本_取左边 (直链地址, "&x-mf-biz-cid", , )
//调试输出 (直链地址)
// json.解析 (网页数据, , )
// Back_Data = json.读路径值 (配置项, , , , )
// 返回 (Back_Data)
}
|
|