废话还是少说直接上代码:
__biz=MzA3ODA5NjgyOA uin=MjM3ODE4ODcxMg key=7b81aac53bd2393d5e902e058ff64404320d0d6b983fca250613052da952e7f6dde8016098f3981acafbc9303e06c824a5b57c6263a326a2 f=json frommsgid=1000000024 count=10 uin=MjM3ODE4ODcxMg== key=7b81aac53bd2393d5e902e058ff64404320d0d6b983fca250613052da952e7f6dde8016098f3981acafbc9303e06c824a5b57c6263a326a2 pass_ticket=0BQ58qDwcrLcbBzA76wFjC%252F5aaJ1U%252BivLJww1CdAEfAyXVrtTqQ3mQcR7RpbTT2R wxtoken= x5=0 HTTP/1.1
目前发现的规律如下:
目前的核心是找到 key 的生成算法,或者是获取实时跟新的 key 其次是快速找到_biz 每个公众号对应的商业 ID
现在想问的是:大家对于这个 key 生成算法有过了解喵 或者可以实时获取的解决方案也行,其次就是如何快速获取商业 ID
关于这个 key 自己的一点思考, key 有 112 位,发现和 16 32 64 常见加密算法是位数类似的,我发现 key 前十六位是不变的,那么就是找剩下的 96 位的规律。一个 key 可以获取不同公众号的文章列表,当十几分钟过后这个 key 就会发生改变,此时如果访问,则报错返回 no seesion 我思考这剩下的 96 位和 session 有关,而 session 我在抓包的时候发现有一个 sessionID 看了一下 一共是 64 位 还有剩下的 32 位 我怀疑他有一个时间戳 md5 加密 成 32 位拼凑起来。私以为服务器可能是如果用户登录则生成一个 session ID 如果 xx 时间没有接受请求,则更改时间戳,或者每隔 20 分钟(假如说蛤)跟新 session ID 并发送给客户端跟新其 cookie 并同时更新其时间戳 如果 session ID 和数据库中的不匹配则返回 no session 报错信息 如果获取到的加密时间戳和系统当前时间戳相差 20 分钟以上则报错(这个错误我没有试),期待大家能够指正.
any advice will be appreciated, thx in advice.
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.