V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
checgg
V2EX  ›  问与答

请教大家一个关于 api 请求过期的问题。

  •  
  •   checgg · 2016-12-05 23:39:23 +08:00 · 2383 次点击
    这是一个创建于 2912 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在通过抓优酷的 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 去验证的?

    2 条回复    2017-10-30 14:19:52 +08:00
    checgg
        1
    checgg  
    OP
       2016-12-06 09:59:39 +08:00
    源码已经反编译出来了。谢谢大家。
    cokky
        2
    cokky  
       2017-10-30 14:19:52 +08:00
    @checgg 能分享下是怎么来做反编译么,多谢!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2764 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 15:27 · PVG 23:27 · LAX 07:27 · JFK 10:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.