2026/6/28 21:48:38
网站建设
项目流程
wordpress仿站之家,wordpress头条模板,中铁建设团门户网登录入口,利用地图建网站案例网址#xff1a;淘宝
找接口加密参数
这次接口不在xhr中了#xff0c;我们翻页后需要搜索一下找到接口#xff0c;然后找加密参数#xff1a; 复制bash转python代码测试看看#xff1a; 这时候就要找一下cookie是动态生成的还是服务器返回的#xff0c;需不需要逆向…案例网址淘宝找接口加密参数这次接口不在xhr中了我们翻页后需要搜索一下找到接口然后找加密参数复制bash转python代码测试看看这时候就要找一下cookie是动态生成的还是服务器返回的需不需要逆向先清除cookie刷新网页搜索cookie值两个都是服务器返回的所以无需逆向找加密位置逻辑复现直接搜索sign:即可打上断点后开始分析加密方法和参数参数基本都是固定的或者一眼看出时间戳c.data一会儿会说明开始复现varCryptoJSrequire(crypto-js);varappKey12574478,// 你自己的appKeytokenxxx// 自己的token在cookie中cookie不变token不变functionsignEnc(page){vardata{appId:30986,params:{\\pageNum\\:${page},\\pageSize\\:25,\\_forceRefresh\\:1768786949730,\\frontAbId\\:\\427503\\,\\isFirstPage\\:true,\\myCna\\:\\QezYITrchGsCAW8ZBchq4zpB\\}},// {appId:30986,params:{\pageNum\:0,\pageSize\:25,\_forceRefresh\:1768786949730,\frontAbId\:\427503\,\isFirstPage\:true,\myCna\:\QezYITrchGsCAW8ZBchq4zpB\}}timeStamp(newDate).getTime(),encDatatokentimeStampappKeydatavarsignCryptoJS.MD5(encData).toString();return{sign:sign,timeStamp:timeStamp}}console.log(signEnc(0));data讲解这里data应刷新后取首页的data其他页会带很多数字而且次次不同这些数字应该是商品信息啥的py调用importrequestsimportexecjsimportosclassJSExecutor:def__init__(self,js_file_path):ifnot os.path.exists(js_file_path):print(fjs代码不存在{js_file_path})withopen(js_file_path,r,encodingutf-8)asf:self.js_codef.read()# execjs.compile()将JavaScript 代码编译为一个可执行的对象 self.js_codeexecjs.compile(self.js_code)defcall(self,func_name,*args):封装python对js代码中函数的调用:param func_name:js代码中的函数名:param args:js代码中函数所需的参数:return:js中函数运行后的结果returnself.js_code.call(func_name,*args)defget_data(sign,t,pageNum):cookies{xxx}headers{user-agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0,}params{jsv:2.7.2,appKey:12574478,t:str(t),sign:sign,v:2.0,timeout:3000,dataType:jsonp,valueType:original,jsonpIncPrefix:pcrecommend,ttid:1tbwang_windows_1.0.0#pc,api:mtop.relationrecommend.WirelessRecommend.recommend,type:originaljsonp,callback:mtopjsonppcrecommend25,data:f{{appId:30986,params:{{\\pageNum\\:{pageNum},\\pageSize\\:25,\\_forceRefresh\\:1768786949730,\\frontAbId\\:\\427503\\,\\isFirstPage\\:true,\\myCna\\:\\QezYITrchGsCAW8ZBchq4zpB\\}}}}}responserequests.get(https://h5api.m.taobao.com/h5/mtop.relationrecommend.wirelessrecommend.recommend/2.0/,paramsparams,cookiescookies,headersheaders,)returnresponse.textif__name____main__:js_executorJSExecutor(23.js)forpageinrange(1,4):js_paramsjs_executor.call(signEnc,page)print(get_data(js_params[sign],js_params[timeStamp],page))result:小结本文也是比较简单适合练手就是data那里需要注意算是个小坑吧慢慢试试就出来了如有问题请及时提出加油加油