跳转至

企查查 headers 请求数据获取方法说明文档

本文档用于说明企查查 headers 请求中参数获取方法,主要用于备忘及练习异步调试,调试比较简单。

1. 前提准备

推荐直接使用内存漫游,可以一键定位到 headers 参数生成的位置(有点流氓了,我们要手动调试它😄,硬刚)。先放个内存漫游后的结果图:

image-20220315171731509

image-20220315172217650

我们需要做以下准备:

  • 谷歌浏览器,用于调试。
  • hook request headers 油猴脚本,用于 js hook headers 参数的定位,非必须,xhr 之类的断点也可。

2. 定位及调试

2.1. hook 定位

定位有很多种方法,这里比较适合 js hook headers 来实现。

这里使用 js hook request headers 脚本来定位参数生成位置。这里配置油猴及编写 js hook headers 脚本暂不写,以后添加(发现刨了很多坑 ┑( ̄Д  ̄)┍)。

image-20220315172345874

image-20220315172903416

2.2. 堆栈调试

定位到参数最终生成后的位置后,就需要我们依次往上调试至参数赋值的具体位置了。

然后你就会发现中间有异步调用,调用前参数未生成,异步执行后参数即生成,则可说明,参数生成方法在这个异步方法中实现,其实自己一步步调试也可以得到这个结论。

image-20220315173302229

然后我们就进入这个异步方法中,这个异步是一个标准异步方法,具体说明请在 js 开发者文档—异步方法 中查看。

image-20220315173807558

依次调试,每次都点击进入异步方法的第一方法中进行断点即可,在 return 和重要逻辑处下断

image-20220315174843938

image-20220315174905198

然后就看到一个地方很有怀疑

image-20220315174953257

跟进去看看,就定位到了地方了。

image-20220315175115339

剩下的调试就很简单了,就不用我多说了吧。

2.3. py 实现

在完全跟到参数生成的地方后,你就了解了整体流程。扣代码还是 py 算法实现就看自己选择了

浏览器抓包如下:

image-20220315175323283

py js 实现,如图可知结果与抓包一致。

image-20220315175730235

3. 总结

  • 本文章主要用来练习异步 js 的调试和油猴 js hook 脚本的编写,内存漫游可一键定位。
  • 最好自己尝试调试,若有问题可与我讨论。

评论

回到页面顶部