py每日spider案例之xhs相关参数逆向(x-s和 X-S-Common)
xhs_sign.js/** * xhs_sign.js * 小红书 X-s / X-S-Common 加密参数生成核心模块 * * 加密逻辑分析: * X-s = "XYS_" + customB64( encodeUtf8( JSON.stringify({x0,x1,x2,x3:mnsv2_result,x4}) ) ) * X-S-Common = customB64( encodeUtf8( JSON.stringify({s0,s1,x0..x12}) ) ) * * 关键发现: * 1. 自定义 base64 字母表 (非标准): ZmserbBoHQtNP+wOcza/LpngG8yJq42KWYj0DSfdikx3VT16IlUAFM97hECvuRX5 * 2. X-s 的 x3 = window.mnsv2(path+bodyStr, Pu(path), Pu(body)) -- JSVMP 虚拟机保护,需浏览器执行 * 3. X-S-Common 的 x9 = hash(R + I + e) -- 32位有符号整数哈希 * 4. X-S-Common 是设备级指纹(会话内基本不变), X-s 是请求级签名(每次请求不同) */'use strict';// ==================== 自定