本文由 资源共享网 – ziyuan 发布,转载请注明出处,如有问题请联系我们!用蓝奏云搭建免费的软件更新API
收藏用蓝奏云实现每次打开软件时,自动检测是否有更新
使用说明及实现原理:
1、蓝奏云网盘设置:网盘中要设置一个带密码的文件夹(假设为:HotUpdate)用于存放软件更新数据及更新说明(更新数据、更新说明文件不要设置密码);
2、设置更新说明:更新说明为txt文件,里面内容为新版本更新的主要内容,txt文件名需要设置为大写 V. + 最新版本号 + . dll (例如:V.1.0.1.dll ),上传到 HotUpdate文件夹;
3、设置更新数据:更新数据用压缩为zip格式,更新数据文件名需要设置为大写 U. +最新版本号+.zip(例如:U.1.0.1.zip ),上传到 HotUpdate文件夹 ;
4、初始化设置:(1)设置网址为 HotUpdate文件夹分享地址【必填】,例如:https://guoren.lanzouo.com/b00wvmvli
(2)密码为HotUpdate文件夹分享密码【必填】,例如:0000
(3)软件现行版本号为未更新的软件版本号【必填】,例如:1.0.0
(4)更新软件logo:用于设置更新程序左上角logo【选填】,例如:/小白点/xbd.png
(5)软件启动程序路径:要启动的程序填写相对本软件路径【必填】,例如:/小白点/小白点A股助手.exe
6、原理:获取HotUpdate所有文件名称,取第一个以 V. 开头 .dll 结尾的文件并取中间的版本号(V.1.0.1.dll 取1.0.1),获取软件现行版本号(1.0.0),两个版本号不一样,检查是否存在U.1.0.1.zip ,如果存在则获取更新内容,让用户选择是否更新。
2023/8/29 11:20 更新
V1.0.1
aardio重构,去除python代码,体积变小 17.8M ——> 789 k
软件链接:https://guoren.lanzouy.com/b00xj009c 密码:52pj
说下实现的思路,大家用的编程语言不一样,源码没有参考价值(我这边用的是aardio+python实现的)。
这个东西本质就是蓝奏云直链解析
本次用 https://guoren.lanzouy.com/b00wvmvli密码:0000 为例进行讲解,采用手机网页版访问(稳定),因此请求头设置手机浏览器请求头:Mozilla/5.0 (Linux; Android 7.1.2; PCT-AL10 Build/N2G47H; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/111.0.5563.116 Mobile Safari/537.36 XWEB/5197 MMWEBSDK/20221109 MMWEBID/5104 MicroMessenger/8.0.31.2281(0x28001F39) WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64 MiniProgramEnv/android
1、get请求:https://guoren.lanzouy.com/b00wvmvli 得到内容有这一段:
[JavaScript] 纯文本查看 复制代码
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
|
然后截取一下字符串,整理一下得到下次post请求的data,把data带入第二次请求
post 请求 https://guoren.lanzouy.com/filemoreajax.php
[JavaScript] 纯文本查看 复制代码
01 02 03 04 05 06 07 08 09 10 |
|
得到:
[JavaScript] 纯文本查看 复制代码
1 |
|
把文件的id进行拼接 得到下次请求url ,(例如,"id":"ibVKf16ft28h")拼接文件详情链接(手机版)---> https://guoren.lanzouo.com/ + tp/ + ibVKf16ft28h
第三次请求,get 请求 https://guoren.lanzouo.com/tp/ibVKf16ft28h
得到网页中有
[JavaScript] 纯文本查看 复制代码
01 02 03 04 05 06 07 08 09 10 11 12 |
|
取 vkjxld + hyggid 得到下次请求url ,这里可以进行判断(vkjxld 、 hyggid 这两个变量名有可能会变),用 = 分割为列表listone ,遍历listone ,listone前几个字符串为“https 且同时存在 lanzou 那 listone 切割 ‘ 得到 https://developer-oss.lanzouk.com/file/ , listone[i-1]切割 var 得到变量名称(注意去除空格),hyggid 变量名及他的值同理亦可得。
第四次请求,这次比较特殊, vkjxld + hyggid得到的链接实际上是重定向的,要用head方法进行请求,解析取Location的值就是文件直链
剩下的事情就简单了,按照 6、原理就可以实现本软件功能。
经验分享资源(用蓝奏云搭建免费的软件更新API)网址:https://www.08i8.com/course/detail488.html;转载请注明!