百趣云 百趣云的博客

🔖小红书

博主
百趣云
3周前
小红书扫码登录的入口小红书 web 端(www.xiaohongshu.com)登录弹窗默认就是扫码。它的扫码协议特点是:全程走自家 API 网关,且每个请求都带 x-s/x-t 签名(签名逆向见前文"小红书 x-s/x-t 签名参数还原"篇)——这是和别家最大的不同,扫码协议本身不复杂,但签名是前置门槛。流程拆解第一步:生成二维码POST https://edith.xiaohongshu.com/api/sns/web/v1/login/qrcode/create Headers: x-s, x-t (签名)返回 qr_id 和二维码内容(一个 URL)。qr_id 是轮询凭证。第二步:轮
博主
百趣云
3周前
先看懂 x-s 的结构小红书 web 端每个 API 请求带 x-s 和 x-t 两个头。x-t 就是毫秒时间戳,没花样。x-s 值得细看——base64 解码后是一个 json,长这样:字段编号和含义随版本有变化,但设计思想不变:签名值 + 签名的"元信息"打包传输,服务端根据元信息选择校验策略。这种设计的好处是算法升级时服务端可以灰度,坏处是——对逆向者来说结构全写在脸上。定位:签名入口其实挂在 window 上小红书前端是 webpack 打包,但签名函数最终暴露成了一个全局函数,名字形如 window._webmsxyw。最快的确认方式:// Console 直接试 typeof wi