前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >善融商城商品库存监控分析

善融商城商品库存监控分析

作者头像
偶尔敲代码
发布2023-04-28 10:33:46
4200
发布2023-04-28 10:33:46
举报
文章被收录于专栏:偶尔敲代码偶尔敲代码

善融商城这个月上货了一些大家“喜闻乐见”的商品,而且还没有溢价,有利润空间自然这部分商品就会招到哄抢,没库存那是必须的。

因而我尝试去分析了下,以下作为过程记录,供参考。

首先,在浏览器进入商品页面,大大的红色“到货提醒”直接怼过来,不用多想这提醒指望不上。

麻利地按下F12并刷新一下,发现以下url比较可疑,因为它含有“ProDetail”这种关键字眼。

代码语言:javascript
复制
http://buy.shanrongmall.com/client/ajaxProdDetail.jhtml?skuId=null&productId=******&creditpaymentId=&isJointTeamBuyType=&ts=2023041602224

查看它的返回数据,是一段Json信息,逐项给它展开,发现了字段“storage”,对应的值也为0,那应该大差不差了。

那再返回去看url的组成和请求数据,最明显的就是url后面的ts=2023041602224(这是我比较早就测试了,所以时间比较早)。

很明显它是个跟时间有关的参数,一般来说它应该是要最新的时间,但这个url用旧的时间也是能够返回数据,也懒得去验证ts参数是否影响数据的准确性。既然都到这一步了,肯定想再看看ts是怎么来的。

因为ts是变化的,所以url应该是通过字符串构造出来的。以url中的“ajaxProdDetail”作为关键词搜索,得到以下两个结果,第一个就是url本身,另一个di就是构造url的js文件。

双击它跳转到js代码界面,往下看就发现了ts所在位置

可见ts的来源就是这行代码:

代码语言:javascript
复制
'ts': (new Date()).toJSON().match(/\d/g).slice(0, 13).join('')

老样子,不放心就复制到控制台中运行一下:

从结果看显然是对的。

简单地理解下ts的构造函数,就是获取ISO 8601日期格式时间,然后正则取所有数字,最后取前13位。

以我现在的时间为例,取ISO时间得到:

2023-04-19T11:06:41.000Z

取所有数字得到:

20230419110641000

再取前13位得到:

2023041911064

然后就组合一下url,搞定啦~收工。

注:未验证ts参数的必要性,仅做自己js逆向的学习记录,也给有需要的人一点参考。

- End -

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-04-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 偶尔敲代码 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档