一、这个孩子命苦啊,一出生爸爸就夏洛不明了
1、目标url:传送门
2、动机:搞点项目数据
二、你以为你是校长啊,想跟谁睡就跟谁睡?
目测一下请求参数、响应参数,一定要用目测,就是硬看:
响应:
giao:怎么说呢,挺呐道
三、喂?秋雅么
听过目测请求体和响应体,可以得到post
请求的这个url。既然是异步请求,那在js中确定一下位置,
打个断点调试一下,目测一下这个请求体中的json字符串是怎样生成的,发现其先像这个url发送了一次请求获取公司的id,然后再重组公司id再向那个url发送post请求得到最终数据。
四、放心吧,张扬是个值得托付的人。
简(身)简(体)单(掏)单(空)的找到的加密的js:
把json
参数加密了一下生成了payload
,然后把加密后的字符串处理了一下生成了md5作为第二个参数sign
使用。就是下面这段:
{
"payload": {
"tag_names": [],
"corporate_regionIds": [
1
],
"corporate_provinceIds": [],
"corporate_cityIds": [],
"corporate_districtIds": [],
"corporate_establishDate_start": null,
"corporate_establishDate_end": null,
"funding_fundingDate_start": null,
"funding_fundingDate_end": null,
"corporate_locationIds": [],
"corporate_rounds": [],
"operator": "and",
"notFromGongshang": true,
"sort": 76006,
"order": -1,
"start": 0,
"limit": 20,
"domestic": null
}
}
对于里面参数的含义,硬看就是取id列表的时候,根据融资时间,金额一类的维度排序,然后start
和limit
是我们关注的东西,就是翻页,一页几个,哪一页(你伤害了我)。
其中js中的加密函数也都很容易找到。断点调试一下,打印一下即可找见,我就不贴了,具体函数都放到代码文件里了。
五、大爷,凉快呢
加密js找见之后呢,解密js尾随其后:
这手法就非常的欧亨利,I like,这不得不让人觉得有意料之外的惊喜,但是细细品来又合情合理,具体的js就不贴了,都放在代码文件里了。函数名e1,e2,d1,d2。
完整代码:代码在这里