最近在通过抓优酷的 API 去收集一些信息的时候,发现这个 API 有一个过期时间的限制: API 地址: http://detail.api.mobile.youku.com/layout/ios5_0/play/detail?area_code=0&brand=apple&btype=iPhone8%2C1&deviceid=111&external=0&guid=11&id=1df0e20e824e11e3b8b7&idfa=11&network=WIFI&operator=%E4%B8%AD%E5%9B%BD%E7%A7%BB%E5%8A%A8_46000&os=ios&os_ver=10.0.2&ouid=11&pid=69b81504767483cf&scale=2&vdid=F11&ver=5.10.3&s=9cb6e95b8f1d326f6c2231994fab6f39&t=1480826251
我现在得出的结论是,它是通过_s_和_t_来验证请求是否过期的, t 是当前时间戳, s 我估计是时间戳 加盐再加密之后的参数。 s 应该是在客户端生成的,每次请求都不一样。 我能想到的一个办法就是把优酷的 APP 反编译之后通过源码查看 S 参数生成规则,但是 YK APP 应该是做了一些反编译的防护的,我失败了。 想请教下大家有什么好办法吗? 或者我的理解不对,其实这个 API 不是通过 S 去验证的?
1
checgg OP 源码已经反编译出来了。谢谢大家。
|