开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

楼主: haoren1212
收起左侧

[易语言纯源码] 蓝奏云解析

[复制链接]
发表于 2026-5-9 00:54:21 | 显示全部楼层   安徽省合肥市
感谢分享,很给力!~
回复 支持 反对

使用道具 举报

结帖率:83% (5/6)

签到天数: 2 天

发表于 2026-5-9 00:36:15 | 显示全部楼层   湖南省长沙市
hadisi 发表于 2026-5-8 23:23
正在编译现行程序
正在检查重复名称...
正在预处理现行程序

这个函数是楼主写的函数啊
回复 支持 反对

使用道具 举报

结帖率:79% (27/34)

签到天数: 3 天

发表于 2026-5-8 23:23:44 | 显示全部楼层   河南省洛阳市
a2550052507 发表于 2026-5-8 23:15
感谢楼主分享,我近期也是发现有台电脑用不了,自己电脑又能用。于是我AI了下发现是这些原因:罪魁祸首:网 ...

正在编译现行程序
正在检查重复名称...
正在预处理现行程序
错误(37): 找不到指定的命令/子程序/Dll命令调用名称“运行JS_取acw_sc_v2”。
编译现行易程序失败或被中止!

回复 支持 反对

使用道具 举报

结帖率:83% (5/6)

签到天数: 2 天

发表于 2026-5-8 23:15:14 | 显示全部楼层   湖南省长沙市
感谢楼主分享,我近期也是发现有台电脑用不了,自己电脑又能用。于是我AI了下发现是这些原因:罪魁祸首:网页_访问 的 WinInet 缓存与环境差异 易语言精易模块的 网页_访问 底层调用的是系统的 WinInet API(也就是 IE 浏览器的核心)。这会导致两个致命问题:  系统环境差异:另一台电脑的系统可能自动把 GZIP 解压了,或者 IE 设置不同;而报错的这台电脑原封不动返回了压缩包。  致命的请求缓存:报错的这台电脑上,网页_访问 第一次请求遇到了 521(5秒盾)。当你带着算好的 Cookie 去进行第二次访问时,底层的 IE 核心直接从本地缓存里把刚才的 521 页面又读出来给了你,它根本就没有真正向蓝奏云发送第二次网络请求!
下面是改好的源码,把这个函数替换掉即可解决:
.版本 2
.支持库 spec

.子程序 蓝奏云_文件外链取直链地址, 文本型
.参数 蓝奏云_文件外链地址, 文本型
.参数 文件外链密码, 文本型, 参考 可空
.局部变量 局_返回, 文本型
.局部变量 局_结果, 字节集
.局部变量 临时_文本, 文本型
.局部变量 iframe框架地址, 文本型
.局部变量 sign, 文本型
.局部变量 url, 文本型
.局部变量 json, 类_json
.局部变量 域, 文本型
.局部变量 页面地址, 文本型
.局部变量 局_提交协议头, 文本型
.局部变量 局_返回协议头, 文本型
.局部变量 直链地址, 文本型
.局部变量 acw_sc__v2, 文本型
.局部变量 局_ck, 文本型
.局部变量 ajaxdata, 文本型
.局部变量 局_返回字节集, 字节集

' 【关键修改】:全部替换为 网页_访问_对象,彻底告别 IE 缓存导致的二次弹盾!
局_返回字节集 = 网页_访问_对象 (蓝奏云_文件外链地址, 0, , , 局_ck, #常量_ua, , , , , , , , , , , , , )
.如果真 (取字节集左边 (局_返回字节集, 2) = { 31, 139 })
    局_返回字节集 = 网页_GZIP解压 (局_返回字节集)
.如果真结束
局_返回 = 到文本 (编码_编码转换对象 (局_返回字节集, , , ))
.如果真 (文本_寻找文本 (局_返回, “ifr2”, , ) = -1)

    ' 取出 arg1 并计算
    临时_文本 = 文本_取出中间文本 (局_返回, “arg1='”, “'”, , )
    acw_sc__v2 = 运行JS_取acw_sc_v2 (临时_文本)

    ' 拼接完整 Cookie
    .如果真 (文本_寻找文本 (acw_sc__v2, “acw_sc__v2=”, , 假) = -1)
        acw_sc__v2 = “acw_sc__v2=” + acw_sc__v2
    .如果真结束
    局_ck = 网页_Cookie合并更新 (局_ck, acw_sc__v2)

    ' 【关键修改】:第二次带 Cookie 访问也必须用 网页_访问_对象
    局_返回字节集 = 网页_访问_对象 (蓝奏云_文件外链地址, 0, , 局_ck, , #常量_ua, , , , , , , , , , , , , )

    .如果真 (取字节集左边 (局_返回字节集, 2) = { 31, 139 })
        局_返回字节集 = 网页_GZIP解压 (局_返回字节集)
    .如果真结束

    局_返回 = 到文本 (编码_编码转换对象 (局_返回字节集, , , ))
    调试输出 (“带盾解析完成,真实页面:”, 局_返回)
.如果真结束



.判断开始 (文件外链密码 = “”)
    临时_文本 = 文本_取出中间文本 (局_返回, “ifr2”, “frameborder”, , )  ' 无密码的外链,需要通过iframe框架地址获取文件编号url和sign,参考:https://tres.lanzouq.com/ajaxm.php?file=262051095
    iframe框架地址 = 文本_取出中间文本 (临时_文本, “src=” + #引号, #引号, , )
    .如果真 (iframe框架地址 ≠ “”)
        iframe框架地址 = 网页_取网址引用 (蓝奏云_文件外链地址) + iframe框架地址
    .如果真结束
    局_返回 = 网页_访问S (iframe框架地址, , , 局_ck, , #常量_ua, , , , , , , , , , , , , , , )  ' 获取url和sign
    调试输出 (“局_返回”, 局_返回)
    sign = 文本_取出中间文本 (局_返回, “wp_sign = '”, “';”, , )
    临时_文本 = 文本_取出中间文本 (局_返回, “url : '”, “data”, , )
    url = 文本_取出中间文本 (临时_文本, “url : '”, “'”, , )  ' /ajaxm.php?file=262051095
    ajaxdata = 文本_取出中间文本 (局_返回, “ajaxdata = '”, “'”, , )
    .如果真 (url = “”)
        url = 文本_取出中间文本 (局_返回, “url : '”, “'”, , )  ' /ajaxm.php?file=262051095,上面如果没有取到,尝试从局_返回取
    .如果真结束
    .如果真 (url ≠ “”)
        url = 网页_取网址引用 (蓝奏云_文件外链地址) + url
    .如果真结束

.默认
    临时_文本 = 文本_取出中间文本 (局_返回, “bcdf = 'c'”, “,////data”, , )  ' 有密码的外链,可以直接通过访问外链地址获取url和sign
    ' 调试输出 (局_返回)
    ' 调试输出 (临时_文本)
    sign = 文本_取出中间文本 (临时_文本, “sign':'”, “'”, , )  ' 上个版本密码外链少写了这个导致无法解析
    .如果真 (url = “”)
        url = 文本_取出中间文本 (局_返回, “url : '”, “'”, , )  ' /ajaxm.php?file=262051095,上面如果没有取到,尝试从局_返回取
    .如果真结束
    .如果真 (url ≠ “”)
        url = 网页_取网址引用 (蓝奏云_文件外链地址) + url
    .如果真结束

.判断结束
调试输出 (sign, url)
.如果真 (sign ≠ “” 且 url ≠ “”)
    .判断开始 (ajaxdata = “”)
        ' 调试输出 (url, “action=downprocess&sign=” + sign + “&kd=1&p=” + 文件外链密码)

        局_返回 = 网页_访问S (url, 1, “action=downprocess&sign=” + sign + “&kd=1&p=” + 文件外链密码, 局_ck, , “Referer:” + 蓝奏云_文件外链地址 + #换行符 + #常量_ua, , , , , , , , , , , , , , , )  ' 获取下载页面地址
    .默认
        局_返回 = 网页_访问S (url, 1, “action=downprocess&websignkey=” + ajaxdata + “&signs=” + ajaxdata + “&sign=” + sign + “&websign=2”, 局_ck, , “Referer:” + 蓝奏云_文件外链地址 + #换行符 + #常量_ua, , , , , , , , , , , , , , , )
    .判断结束
    ' 调试输出 (局_返回)

    json.解析 (局_返回, , )
    域 = json.取通用属性 (“dom”, )
    页面地址 = json.取通用属性 (“url”, )
    网页_访问S (域 + “/file/” + 页面地址, , , 局_ck, , #常量_ua, 局_返回协议头, 真, , , , , , , , , 局_结果, , , , )  ' 访问下载页面,获取返回协议头的Location,协议头Location的值为直链地址
    直链地址 = 网页_协议头_取信息 (局_返回协议头, “Location”)
.如果真结束
调试输出 (“直链地址”, 直链地址)
.判断开始 (直链地址 = “”)
    局_返回 = 到文本 (网页_GZIP解压 (局_结果))
    acw_sc__v2 = 运行JS_取acw_sc_v2 (文本_取出中间文本 (局_返回, “arg1='”, “'”, , ))  ' js
    ' acw_sc__v2 = compute_acw_sc_v2 (文本_取出中间文本 (局_返回, “arg1='”, “'”, , ))  ' 纯易
    局_ck = 网页_Cookie合并更新 (局_ck, acw_sc__v2)
    网页_访问S (域 + “/file/” + 页面地址, , , 局_ck, , #常量_ua, 局_返回协议头, 真, , , , , , , , , , , , , )  ' 频繁解析会出现验证,需要携带ck(acw_sc__v2)进行访问
    直链地址 = 网页_协议头_取信息 (局_返回协议头, “Location”)
    调试输出 (“直链地址1”, 直链地址)
    返回 (直链地址)
.默认

    返回 (直链地址)
.判断结束




点评

感谢,对了,回帖的时候可以选择代码发布的   河南省洛阳市  发表于 2026-5-8 23:20
回复 支持 反对

使用道具 举报

结帖率:80% (4/5)

签到天数: 24 天

 楼主| 发表于 2026-5-5 20:59:15 | 显示全部楼层   上海市上海市

遇到无法获取直链的问题,把问题外链发到评论区,有时间会更新的
回复 支持 1 反对 0

使用道具 举报

结帖率:79% (27/34)

签到天数: 3 天

发表于 2026-5-5 18:53:40 | 显示全部楼层   河南省郑州市
好像失效了
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)

签到天数: 4 天

发表于 2026-4-11 17:00:26 | 显示全部楼层   江苏省镇江市
好用 学习了
回复 支持 反对

使用道具 举报

结帖率:80% (4/5)

签到天数: 24 天

 楼主| 发表于 2026-4-8 18:33:13 | 显示全部楼层   上海市上海市
chenxueyou 发表于 2026-4-8 17:28
失效了 失效了失效了失效了失效了失效了失效了失效了失效了失效了失效了失效了失效了失效了 ...

算法没有问题,有问题把问题外链发到评论区
回复 支持 反对

使用道具 举报

发表于 2026-4-8 17:28:58 | 显示全部楼层   湖南省益阳市
失效了 失效了失效了失效了失效了失效了失效了失效了失效了失效了失效了失效了失效了失效了
回复 支持 反对

使用道具 举报

结帖率:50% (1/2)

签到天数: 1 天

发表于 2026-4-7 21:33:00 | 显示全部楼层   广东省深圳市
看看
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备2025452707号) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表