企查查 headers 请求数据获取方法说明文档¶
本文档用于说明企查查 headers
请求中参数获取方法,主要用于备忘及练习异步调试,调试比较简单。
1. 前提准备¶
推荐直接使用内存漫游,可以一键定位到
headers
参数生成的位置(有点流氓了,我们要手动调试它😄,硬刚)。先放个内存漫游后的结果图:
我们需要做以下准备:
- 谷歌浏览器,用于调试。
hook request headers
油猴脚本,用于js hook headers
参数的定位,非必须,xhr
之类的断点也可。
2. 定位及调试¶
2.1. hook 定位¶
定位有很多种方法,这里比较适合
js hook headers
来实现。
这里使用 js hook request headers
脚本来定位参数生成位置。这里配置油猴及编写 js hook headers
脚本暂不写,以后添加(发现刨了很多坑 ┑( ̄Д  ̄)┍)。
2.2. 堆栈调试¶
定位到参数最终生成后的位置后,就需要我们依次往上调试至参数赋值的具体位置了。
然后你就会发现中间有异步调用,调用前参数未生成,异步执行后参数即生成,则可说明,参数生成方法在这个异步方法中实现,其实自己一步步调试也可以得到这个结论。
然后我们就进入这个异步方法中,这个异步是一个标准异步方法,具体说明请在 js 开发者文档—异步方法 中查看。
依次调试,每次都点击进入异步方法的第一方法中进行断点即可,在 return
和重要逻辑处下断
然后就看到一个地方很有怀疑
跟进去看看,就定位到了地方了。
剩下的调试就很简单了,就不用我多说了吧。
2.3. py 实现¶
在完全跟到参数生成的地方后,你就了解了整体流程。扣代码还是 py 算法实现就看自己选择了
浏览器抓包如下:
py js
实现,如图可知结果与抓包一致。
3. 总结¶
- 本文章主要用来练习异步
js
的调试和油猴js hook
脚本的编写,内存漫游可一键定位。 - 最好自己尝试调试,若有问题可与我讨论。