获取城通网盘文件真实下载地址
城通网盘文件的真实地址获取方法,其实其网盘已经给了方法,这个链接就是官方给的解决方案未登录或免费用户下载文件,现在我们用易语言来一步步实现他
方法说明
- 获取分享文件的 文件验证码
请求URL
https://webapi.ctfile.com/getfile.php?f=用户ID-文件ID&passcode=分享密码&token=false&r=0.384257244996671&ref=
返回数据只要提取file_chk即可,以备下面获取真实地址使用 - 获取文件真实下载地址
请求URL
https://webapi.ctfile.com/get_file_url.php?uid=用户ID&fid=文件ID&folder_id=0&file_chk=文件验证码&mb=0&app=0&acheck=2&verifycode=&rd=0.5922316576853821
返回downurl真实下载地址和file_size文件大小
易语言编写如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | .版本 2 .子程序 _城通网盘_文件_获取真实下载地址, 文本型 .参数 文件分享网址, 文本型, , http://pan.18air.com/f/23285291-479645354-f4a620 .局部变量 网址信息串, 文本型 .局部变量 文件信息串, 文本型 .局部变量 分割文本数组, 文本型, , "0" .局部变量 用户ID, 文本型 .局部变量 文件ID, 文本型 .局部变量 局_提交协议头, 文本型 .局部变量 json, 类_json .局部变量 文件验证码, 文本型 .局部变量 下载真实地址, 文本型 ' 拆分分享地址,以备后面使用 文件信息串 = 文本_取右边 (文件分享网址, “/f/”, , ) ' 23285291-479645354-f4a620 网址信息串 = 文本_取左边 (文件分享网址, “/f/”, , ) ' http://pan.18air.com 文本_分割文本 (文件信息串, “-”, , 分割文本数组) 用户ID = 分割文本数组 [1] ' 23285291 文件ID = 分割文本数组 [2] ' 479645354 ' 提取文件验证码 文件验证码 = 编码_usc2到ansi (到文本 (网页_访问 (“https://webapi.ctfile.com/getfile.php?path=f&f=” + 文件信息串 + “&passcode=&token=false&r=” + 时间_取随机时间戳 () + “&ref=”, , , , , “origin:” + 网址信息串 + #换行符 + “referer:” + 网址信息串, , , , , , , ))) json.解析 (文件验证码, ) 文件验证码 = json.取通用属性 (“file_chk”, ) ' 提取真实下载地址 下载真实地址 = 网页_访问S (“https://webapi.ctfile.com/get_file_url.php?uid=” + 用户ID + “&fid=” + 文件ID + “&file_chk=” + 文件验证码, , , , , , , , , , , , , , , , , , , , ) json.解析 (下载真实地址) 下载真实地址 = json.取通用属性 (“downurl”, ) ' 真实地址链接中有个spd参数就是下载速度 返回 (下载真实地址) |