企查查参数问题
访问详情页headers里面有一串加密参数,该模块下的请求为 ajax请求,并且每次请求都会带上一个疑似身份验证的请求头,长这个样子如图
解决办法
首先搜索网页 html 源码,无法得知该信息从何来,前面的请求也没有带,基本上可以断定是 js 动态生成并带上请求头,和后端交互的。
既然确定了,就开始找找是哪段 js 代码。查看 html 代码,该页面只加载了几个 js 文件:
不出意外的话, jquery 可以先不管,那就先看下面的文件。搜索关键词 newcompany 可以大概确定就是它了。因为该网站为了防止别人前端做 debug ,在该 js 文件中加了大量的 debug 断点。这个时候我们可以使用抓包工具 filder 做本地代理,在网站加载请求该 js 文件时,使用本地文件返回给网站。这样就可以将原来的 js 文件中的断点代码全部删掉,方便正常的调试。
filder 的 AutoResponder 标签,点击添加规则,将左侧该 main.8a7cb6af.js 文件拖到右边,如下图设置即可:
接着刷新网页,便不会再有无限的断点了。这个时候就可以开始调试代码,找到请求头开始生成的位置,以及生成的逻辑。
前端调试很枯燥,根据关键词,一步一步往下走,可以看到关键代码,如下:
关键代码:
var i = (0,
a.default)(t)
, s = (0,
o.default)(t, e.data);
e.headers[i] = s,
翻成人看的代码:
var i = a.default)(t), s = o.default(t, e.data)
e.headers[i] = s
专注企业数据八年,服务某查和数十家大数据公司
承接企业数据爬虫开发,数据定制服务
工商库存量+更新推送,数据API接口等。
跟着往前看调用栈,这里的 e 就是后面带上请求头的元素。那么这里的 i 和 v 就是我们需要的。 跟着往下走,看这两个值时如何生成的。
需要解决办法的可以私聊我
威信:tianchuangdata