serkio应用实战
前言
最近在工作中遇到了一个反爬虫产品,处于技术能力和新产品迭代更新快的考虑,最后选择使用RPC技术解决问题,因为serkio框架帮我们封装好了服务,且自身具备一定的负载均衡能力,所以选择它作为RPC实现方案。
新手入门请参考K哥的文章,我也是通过这篇继续学习的。
RPC 技术及其框架 Sekiro 在爬虫逆向中的应用,加密数据一把梭
实战开发
由于是工作业务相关的开发,设计隐私问题,这里就不一一展示开发过程了,我大概罗列出开发过程中遇到的问题
多次调用加密方法破解失败
在部署好Sekiro后,调用RPC服务已经能够拿到加密参数生成结果了,但是在多次调试后发现生成的结果用于请求时会失败,根据浏览器抓包请求流程确定请求接口定期会返回419,结果会携带一个data,当出现419必须将data进行处理,因为这个data会作用于下一次加密结果生成。
如何刷新加密方法
419的data怎么刷新到加密方法里呢?这个需要在js处理响应数据中找到相关的处理代码(onResponse),然后只要将这段代码在RPC服务中执行即可。
if (request.hasOwnProperty('dunm_data')) {
let _0x37561b = _0x365f28(request['dunm_data'], window);
_0x37561b["run"]();
window.localStorage.dunm_data = request['dunm_data'];
}

文章介绍了在反爬虫场景中,如何利用RPC技术和Sekiro框架处理加密方法的刷新和不同用户使用同一加密代码的问题。在实战开发中遇到的419错误和动态设置cookie以适应不同用户的方法被详细阐述。此外,还提到了处理浏览器弹窗、RPC的负载均衡以及动态js注入的策略。
最低0.47元/天 解锁文章
3872

被折叠的 条评论
为什么被折叠?



