已实现:某音乐cookie长期有效方案、qq音乐、音乐cookie、续期

cookie长期有效方案

tips:所说的cookie就是musickey这个参数。

一、场景

qq音乐某些接口需要使用cookie才能获取到数据,cookie目前只能通过手动登录,然后复制进行获取。导致非常麻烦,且有效时间很短。

二、长期有效方案研究

1. 现有方案

网上目前有且能成功的方案都是基于网页自动化实现的方案,这种方案有许多弊端,如:需要浏览器支持、需要输入账号密码、可能会遇到验证码拦截。且并不能保证成功率,可能遇到页面改版,html元素位置改变导致无法进行模拟操作。

2. 升级方案

我们可以把网页登录流程提取出来,不借助网页自动化的工具,直接进行http请求进行模拟登录。登录成功后获取musickey,借助定时任务或其它方式定时给musickey续期即可保证”永不”过期。

方案我这已经跑通并验证过了,非常持续稳定。🔥

大概流程如下:

获取登录二维码
用户扫码授权
Server模拟登录
获取musickey
Server定时刷新musickey

三、实现效果

  1. 先获取二维码的图片,接口返回的是base64格式的,我们暂且借助java的窗体给展示出来,方便扫描。
  2. 轮询二维码扫描状态,监听是否完成扫码。

image-20241009173219005

  1. 轮询获取状态,判断是否为授权成功状态,以下为部分日志,登录成功后会获取到一个code,这个code用于获取musickey。
2024-10-09 17:33:30状态:二维码未失效。
2024-10-09 17:33:31状态:二维码认证中。
2024-10-09 17:33:37状态:登录成功!
status:302 code:CEFF415C4B3C55S5F6FE317F1AD90999
  1. 调用接口获取musickey和其它信息
    1. musickey就是我们需要的cookie里的参数,refresh_token用于给musickey进行续期
    2. musickey示例:Q_H_L_7x5Lk9YAz-3rPjQmH80MdNf-u8tVYf6OoJq4x7Hn5TzFvRkGQWwPvS9oN1VdZgKpTwX9QjL3H7Oe5bJ8cLfFg3M

image-20241009173903133

  1. 写一个定时任务,通过refresh_token进行续期。

四、沟通讨论

email:yufirem@vip.qq.com

备注:csdn cookie讨论

获取QQ好友列表√ 录张GIF感受一下UI 部分代码结构: 文件夹说明: 完成功能: QQ群官网登录√ 取Cookie√ 变量:全_cookiess 取QQ号√ 变量:全_superuin 取QQ skey√ 变量:全_skey 取QQ bkn√ 变量:全_bkn 取QQ头像√ 方法:Get_QQHEAD() QQ好友列表功能: 取QQ好友列表√ 方法:QQ好友_列表初始化() 取QQ好友昵称√ 变量:局_Name(列表初始化 方法内) 取QQ好友账号√ 变量:局_Uin(列表初始化 方法内) 取QQ好友头像√  方法:取好友QQ头像() QQ群聊列表功能: 取QQ群聊列表√ 方法:QQ群聊_列表初始化() 取QQ群聊名称√ 变量:局_Name(列表初始化 方法内) 取QQ群聊群号√ 变量:局_Uin(列表初始化 方法内) 取QQ群聊头像√  方法:取群聊QQ头像() 相关方法: Get_Friend_List()‘取QQ好友列表 创建自窗口句柄()‘创建QQ列表,QQ群聊列表句柄 QQ好友_列表初始化()‘获取QQ列表,QQ群聊数据 不足: 判断用户是否在线× (因为现在好像还没有可以判断手机用户在线状态的接口....我就没写判断是否电脑在线了...) QQ资料获取× QQ群聊列表无法显示× 开源这个程序主要是想各位帮忙看看源码.....其实获取QQ群列表的代码也写好了。 但是无法显示,调来调去也不知道是哪里的问题。 (列表生成是用同一套代码的,QQ列表可以生成但是QQ群列表无法生成。)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值