硕士生
 
- 金币
- 3990
- 好评
- 90
- 信誉
- 105
|
本帖最后由 小奶瓶 于 2025-1-9 11:38 编辑
最近使用蓝云App发现的解析直链功能失效了,后来我才知道原来是我开通了个性化会员导致的,普通用户的蓝奏云分享链接是必须将com/修改成com/tp/之后才可以正常解析直链的,而开通了个性化会员之后就可以直接解析了,如果加了/tp/反而加载的内容是空白的。
我呢只会一点点Lua还不太精通,只能求助于智障AI来帮我写代码了。
以下就是智障AI写出来的蓝奏云解析代码。
个性化会员版:
优点:可以无视密码解析直链。
- -- 函数功能:根据蓝奏云下载链接获取相关信息,并展示包含拼接后直链地址的对话框
- -- 参数:lanzouyunDownloadLink为蓝奏云下载链接
- function getLanzouyunDirectLink(lanzouyunDownloadLink)
- -- 发起HTTP请求,获取蓝奏云链接对应的页面内容等信息,传入回调函数处理响应结果
- Http.get(lanzouyunDownloadLink, nil, nil, nil, function (responseCode, responseContent, cookie, header)
- -- 判断响应码是否为200,表示请求成功
- if responseCode == 200 then
- -- 从响应内容中匹配获取域名部分(根据var urlpt变量对应的内容获取)
- local domainPart = responseContent:match("var urlpt = '(.-)';")
- -- 从响应内容中匹配获取后缀部分(根据var link变量对应的内容获取)
- local suffixPart = responseContent:match("var link = '(.-)';")
- -- 将域名部分和后缀部分拼接成完整的直链地址
- local directLink = domainPart.. suffixPart
- -- 显示的消息为拼接后的直链地址
- print(directLink)
- end
- end)
- end
复制代码
调用方式:
- getLanzouyunDirectLink("这里填写蓝奏云分享链接")
复制代码
普通用户版:
- -- 函数功能:根据蓝奏云下载链接获取其直链地址,并弹出对话框展示直链地址,可选择复制该直链地址
- function getLanzouyunDirectLink(lanzouyunDownloadLink)
- -- 将蓝奏云下载链接中的 "com/" 替换为 "com/tp/",可能是为了构造获取直链相关的正确请求链接格式
- lanzouyunDownloadLink = string.gsub(lanzouyunDownloadLink, "com/", "com/tp/")
- -- 发起HTTP请求,传入处理响应的回调函数
- Http.get(lanzouyunDownloadLink, nil, nil, nil, function (responseCode, responseContent, cookie, header)
- -- 判断响应码是否为200,表示请求成功
- if responseCode == 200 then
- -- 从响应内容中匹配获取tedomain相关的内容,这里提取出包含域名相关信息的部分字符串
- local tedomainContent = string.match(responseContent, "var tedomain =(.+)")
- -- 从tedomainContent中进一步提取出域名地址部分
- local domainAddress = string.match(tedomainContent, "= '(.-)';")
- -- 从响应内容中匹配获取tedomaina相关的内容,提取出包含后缀相关信息的部分字符串
- local tedomainaContent = string.match(responseContent, "var tedomaina = (.+)")
- -- 从tedomainaContent中进一步提取出后缀内容部分
- local suffixContent = string.match(tedomainaContent, "= '(.-)';")
- -- 拼接出直链地址,由域名地址和后缀内容组成
- local directLinkAddress = domainAddress.. suffixContent
- -- 弹出消息内容为直链地址
- print(directLinkAddress)
- end
- end)
- end
复制代码
调用方式:
- handleLanzouyunLink("这里填写蓝奏云分享链接")
复制代码
普通用户与会员用户通用嗅探版:
优点:不需要判断com/tp/也可以正常点击JS元素嗅探下载地址。
- -- 函数功能:处理蓝奏云分享链接,实现一些自动操作(如自动点击提交按钮等)并监控下载相关操作
- -- 参数:lanzouyunDownloadLink为蓝奏云分享链接
- function handleLanzouyunLink(lanzouyunDownloadLink)
- --导入支持库文件
- import "com.androlua.XWebView"
- -- 创建一个网页视图控件实例,通过传入activity(通常代表安卓的Activity上下文对象)来初始化
- local webView = XWebView(activity)
- -- 标记是否自动点击蓝奏云的提交按钮,初始化为true,表示开启自动点击
- local autoClickLanzouyunSubmitButton = true
- -- 为网页视图设置Lua网页事件监听
- webView.setLuaWebEvents{
- -- 当页面加载完成时触发的回调函数
- onPageFinished = function (view, url)
- -- 如果开启了自动点击蓝奏云提交按钮的功能
- if autoClickLanzouyunSubmitButton then
- -- 在网页视图中执行JavaScript代码,实现自动聚焦并点击id为"submit"的元素(模拟提交操作)
- -- 然后设置一个定时器,1秒后执行返回上一页操作(这里的时间和具体逻辑可能需根据实际情况调整)
- if pcall(function()
- webView.evaluateJavascript([[
- document.getElementsByClassName("mh")[0].getElementsByTagName("a")[0].onfocus();
- document.getElementsByClassName("mh")[0].getElementsByTagName("a")[0].click();
- ]], nil)
- -- 操作完成后,关闭自动点击功能
- autoClickLanzouyunSubmitButton = false
- end)then
- task(1000, function()
- webView.evaluateJavascript([[
- document.getElementById("submit").onfocus();
- document.getElementById("submit").click();
- ]], nil)
- -- 操作完成后,关闭自动点击功能
- autoClickLanzouyunSubmitButton = false
- end)
- end
- end
- end
- }
- -- 为网页视图设置下载监听器
- webView.setDownloadListener{
- -- 当下载开始时触发的回调函数,此处简单打印下载链接,并停止网页加载
- onDownloadStart = function (url)
- -- 显示的消息为嗅探后的直链地址
- print(url)
- webView.stopLoading()
- end
- }
- -- 加载处理后的蓝奏云下载链接,使网页视图开始加载对应的页面
- webView.loadUrl(lanzouyunDownloadLink)
- end
复制代码
XWebView浏览器插件下载地址:
https://www.lanzouu.com/iGLuI2jsodre
调用方式:
- handleLanzouyunLink("这里填写蓝奏云分享链接")
复制代码
蓝奏云无密码解析Androlua+工程源码
下载地址:https://www.lanzoux.com/iKuq12k3udgf
免责声明:
本教程内的解析源代码仅用于技术调试与技术学习交流之目的,严禁将其用于任何商业用途。任何人在使用本教程所提供的信息和技术时,必须自行承担由此产生的一切法律后果。未经本教程作者的明确许可,任何人不得以任何形式复制、传播、修改或利用本教程的内容从事非法商业用途。如有侵权行为,请立即联系我,我在收到通知后将积极配合贵公司下架相关内容。
本免责声明旨在确保本教程仅用于非商业目的,并保护(蓝奏云网站及 APP 的经营者以及济宁网众信息技术有限公司)的合法权益。使用本教程的任何人都应自行承担风险,并且在使用过程中严格遵守适用的法律法规。对于因使用本教程而导致的任何损失或法律纠纷,本教程的作者一概不承担责任。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|