演示使用pandownload最后一个版本2.2.2
在可以查看到的整个应用程序的文件中
\PanDownload\PanData\script\defaultdownload_pcs.lua
引人注目这里是自定义脚本的地方。
lua脚本
script_info = {
["title"] = "PCS接口",
["version"] = "0.0.1",
["description"] = "非超级会员账号请将并行任务数设置为1",
}
function onInitTask(task, user, file)
if task:getType() ~= TASK_TYPE_BAIDU then
return false
end
if user == nil then
task:setError(-1, "用户未登录")
return true
end
local appid = 778750
if user:isSVIP() then
appid = 250528
end
task:setUris("http://pcs.baidu.com/rest/2.0/pcs/file?method=download&path="..pd.urlEncode(file.path).."&app_id="..appid)
task:setOptions("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36")
task:setOptions("header", "Cookie: "..user:getCookie())
return true
end
最后一行可以看到其实task是一个执行下载的接口其实是一个http请求,那么这个请求很简单,只需要几个参数文件地址、appid,cookie。cookie很简单只需要去浏览器中登陆之后获取就可以了。
file.path:是在使用网页版百度云时看请求列表式常见的https://pan.baidu.com/api/list中path,看其规律就是你百度云盘中文件目录的地址。分享的文件暂时不清楚
appid:暂不清楚,可能是表示你是什么客户端(vip客户端、普通客户端、网页?)进行的访问
那么如何进行高速下载呢,看到pandownload中其实是有aria2c那么找一个吧,那么光这样做还不行,我们还需要往请求头中加入cookie
当你没有会员的情况下,你的账户下载量达到阀值时便会强制限速(pandownload官网中为10G)。
最后还是声明冲个会员吧,花点就花点,给程序员们加个餐
声明不提供任何下载手段,仅供研究
网友评论