本次网址:www.nmpa.gov.cn
这是最后一篇四代五代瑞数的文章了,环境的话拿维普期刊的环境跑,稍微改下就能用,不会补的话看四代房地产的文章。
药监局的cook有效期有一段时效,拿到第二个ts也就是6000多行vm生成的cook,可以一直使用;
无线debufgger右键跳过加个for (let i = 1; i < 99999; i++) window.clearInterval(i);
获取流程;
从首页进来只需要获取ts生成的cook跟202页面返回的俩cook,然后点击药品查询,会进入到搜索页面,也就是https://www.nmpa.gov.cn/datasearch/home-index.html#category=yp,
按原网页流程走的话,如果直接从搜索页面药品查询开始的话需要带上后缀跟sign,
从首页进来的话只需要带上两个服务器返回的cook跟第二个ts也就是6000行vm生成的cook和sign就能访问;
第一次202页面获取的ts生成一万两千行的vm,然后得到151位的cookie
随后跳过断点,进入到200页面,触发load事件,使cook添加了
.$_f0
$_f1
$_fh1这三个指纹,可以打load断点看具体生成。load事件创建了canvas,然后取
toDataURL方法,然后用了canvas下的getContext方法又创建了2d跟webgl两个对象取参数进行加密,打事件断点load可以看到,补的话也很好补
添加完指纹后cook长度就变成258位了,指纹随机就可以并发。
搜索页面的cook是321位的,在首页所有内容加载完后,点击搜索触发新的事件,为cook里面添加了轨迹,258位的cook就能正常访问数据,也不用追求完美321位的cook
sign的参数是页面加个时间搓跟搜索接口的id,打xhr断点,搜sign直接能找到,是个md5加密
请求时首页6000行vm生成的cook可以用一段时间,6000行vm逻辑与第一次ts一万两千行的vm相同,只需要每次刷新sign就可以正常访问