ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Xiaomusic 使用 Cookie 登录:解决小爱音箱账号认证与设备发现问题的完整指南

Xiaomusic 使用 Cookie 登录:解决小爱音箱账号认证与设备发现问题的完整指南 Xiaomusic 使用 Cookie 登录解决小爱音箱账号认证与设备发现问题的完整指南【免费下载链接】xiaomusic使用小爱音箱播放音乐音乐使用 yt-dlp 下载。项目地址: https://gitcode.com/GitHub_Trending/xia/xiaomusic本指南面向在 xiaomusic 中使用小米小爱音箱播放音乐的用户。当账号密码登录频繁失效、设备无法被发现时使用小米账号 Cookie 登录是一条经过大量用户验证的替代路径。读完本文你将掌握从 Chrome 开发者工具抓取完整 Cookie、在设置页正确配置、以及排查找不到设备登录掉线等高频问题的完整方法。为什么需要 Cookie 登录xiaomusic 通过调用小米开放服务miservice的micoapi接口来发现音箱、下发播放指令。整个链路的第一步就是完成小米账号的认证并拿到passToken。认证入口集中在 xiaomusic/auth.py 的AuthManagercan_login()auth.py只要满足「配置了账号密码」「配置了 Cookie」「存在auth.json」三者之一即可尝试登录login_miboy()auth.py调用MiAccount.login(micoapi)完成登录成功后创建MiNAService/MiIOService实例并维护会话、auth.json与.mi.token文件need_login()auth.py周期性探测登录态是否有效如收到70016 登录验证失败等错误码决定是否需要重新登录。问题在于小米账号登录经常触发人机验证滑块/验证码纯账号密码方式在服务器环境下很难自动通过于是出现了登录失败、找不到音箱设备的经典故障。Cookie 登录的本质是在浏览器里替小米完成一次完整的人机验证登录然后把浏览器持有的会话凭证Cookie直接交给 xiaomusic 复用从而绕开服务器端的验证码交互。从源码看Cookie 登录的核心作用点有两个set_token()auth.py会读取config.cookie通过parse_cookie_string_to_dict()实现在 xiaomusic/utils/system_utils.py把 Cookie 字符串解析为字典并取出其中的passToken和userId拼装成小米 tokenget_cookie()auth.py把配置的 Cookie 解析为CookieJar并注入会话供后续请求https://api2.mina.mi.com/...时携带。因此你提供的 Cookie 中必须包含userId和passToken这两个字段否则认证将无从谈起——这正是原文档反复强调的关键前提。完整操作步骤核心要点使用 Cookie 登录时不要填写账号密码二者混填容易互相干扰导致认证走回密码登录的老路。第一步用 Chrome 登录小米账号官网在电脑上用 Chrome 浏览器打开小米账号官方网站完成登录。务必走完整的人机验证流程人脸或滑块验证都要通过确保账号处于已登录状态。第二步打开开发者工具并开启录制按F12打开开发者工具点击顶部Network标签页。此时点击左上角的录制按钮小圆点使其变为红色表示开始记录网络请求。第三步刷新页面按F5刷新页面让浏览器重新发起一批登录相关请求从而把携带完整认证信息的请求记录下来。第四步过滤并复制 Cookie在 Network 面板的过滤框中输入account?过滤出登录相关的连接点击该连接在右侧Headers或Cookies标签中找到请求头携带的cookie字段复制完整的 cookie 值。复制后请务必检查完整的 Cookie 中要能同时找到userId和passToken两个键值对缺少任一关键字段登录都会无效设备也就无法被发现。第五步粘贴到设置页面进入 xiaomusic 的 Web 设置页面默认端口为8090即访问http://主机IP:8090/后进入设置页参见 config.py 中port的默认值将 Cookie 完整粘贴到对应的cookie输入框中账号、密码留空然后保存。保存动作最终会调用后端接口POST /savesetting实现在 xiaomusic/api/routers/system.py把 Cookie 写入配置文件并重置 HTTP 服务。保存成功后观察日志或重新打开设置页确认设备列表中能发现小爱音箱。Cookie 在配置中的位置Cookie 与账号密码同属Config的登录凭证字段见 xiaomusic/config.py配置项说明环境变量account小米登录账号MI_USERpassword小米登录密码MI_PASScookie小米账号 Cookie含userId、passToken—通过设置页写入mi_did设备 did逗号分隔支持多设备MI_DID对应地在 config-example.json 中前三项分别为account: 、password: 、cookie: 。Cookie 登录成功后会生成conf/auth.json内含userId、passToken、deviceIdset_token()会优先从auth.json恢复 token其次才读取配置中的 cookie 字段。常见问题与实战排查原文档的评论区沉淀了大量真实用户的踩坑经验这里整理为可操作的排查清单1. 只填 Cookie 也不行 / 设备仍找不到确认 Cookie 完整且包含userId与passToken。这是最高频的原因作者 hanxi 在评论中两次强调。Cookie 不要与账号密码混填。评论 23 明确如果用 cookies 就不要填写账号和密码混填会让登录流程重新走密码路径触发验证码后仍然失败。尝试清空配置目录后重来。评论 27 的可行做法删除 Docker 配置目录config下的全部内容重新拉取最新版本构建打开后台前先CtrlF5强制刷新前端缓存再填入 Cookie 保存。账号用小米 ID 而非手机号。评论 25 的经验手机号登录容易失败改用小米 ID数字账号去官网做一次登录验证后再回来刷新。确认容器网络模式。评论 21 提到群辉 NAS 上bridge与host网络模式可能影响设备发现若局域网发现异常可尝试host模式。关闭账号二次验证。评论 37 提示小米账号的二次验证会导致连不上需先关闭。2. 登录后掉线 / 设备隔一两天消失Cookie 本质上是一个有生命周期的会话凭证小米侧可能吊销或要求重新验证评论中多次出现可用一天后失效一到两天找不到设备。评论 33/34 的实用对策重启容器通常能恢复不行就重新抓取并更新 Cookie 再重启还有用户采用每天定时重启容器来规避随机掉线。评论 20 作者建议关闭小爱 App 里的对话记录可以减少触发账号安全机制的概率。掉线后重新连接的小技巧评论 38退出手机米家 App改用手机号重新登录再刷新设备列表小爱音箱会重新出现。3. 播放歌曲时突然登录失败验证码输入错误评论 19 描述的现象播放几首歌后控制台出现验证码输入错误错误码87001类型manMachine随后设备从列表消失。从日志栈看这是播放请求打到https://api2.mina.mi.com/remote/ubus时登录态失效所致。处理方式同样是去小米官网重新过人机验证 → 重新抓取 Cookie → 重新配置。4. 后台提示 [object object] / Cookie 格式问题评论 11 提到的_utm_data等 JSON 型 Cookie 值不要手动改造成空对象再粘贴直接把浏览器复制到的完整 Cookie 原样填入即可避免格式被破坏导致前端保存时解析异常。进阶动态 IP 环境下的启动辅助脚本评论 30 提供了一个适配 Mac 笔记本的启动脚本思路因为 Cookie/会话与hostname配置里的 IP绑定pip install方式安装 xiaomusic 后当 Mac 的 IP 变化时登录态会失效。该作者编写了start_xiaomusic.sh在启动前自动检测当前 IP通过ifconfig获取本机当前 IPv4 地址读取conf/setting.json中的hostname字段比对若不一致用 Python 脚本改写 JSON 中的hostname为当前 IP再执行xiaomusic命令启动。脚本要点设置文件路径为conf/setting.json更新逻辑使用json.load/json.dumpensure_asciiFalse, indent2保证中文与格式不损坏。这个思路同样适用于任何 IP 会变动的家庭网络环境——每次启动前保证hostname与当前局域网 IP 一致能显著降低认证失效概率。小结Cookie 登录是 xiaomusic 在小米账号人机验证机制下的务实解法在浏览器端完成验证把含userId和passToken的完整 Cookie 交给程序复用。核心动作只有抓取 → 粘贴 → 保存三步但成功率高度依赖三点Cookie 完整、不与账号密码混填、账号侧验证环境正常。若仍失败按上文清单依次排查网络模式、账号类型、配置目录与二次验证即可。Cookie 掉线属于正常现象重启容器或更新 Cookie 是社区公认的有效恢复手段。【免费下载链接】xiaomusic使用小爱音箱播放音乐音乐使用 yt-dlp 下载。项目地址: https://gitcode.com/GitHub_Trending/xia/xiaomusic创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表