【接口流程分析】唯品会WEB端

唯品会WEB端

来看看唯品会是怎么回事,

地址:aHR0cHM6Ly93d3cudmlwLmNvbS8=
https://github.com/Guapisansan/gpss_learn_reverse 代码在这里,会持续更新逆向案例

免责声明: 此文档,以及脚本,仅用来对技术的学习与探讨,如有冒犯,请联系作者电话,微信13933566015进行删除

目的

请添加图片描述

这里点击商品分类,点击女装,男装,内衣, 随便点一个连衣裙

请添加图片描述

弹出新网面,10000件商品 84页。

流程分析

刷新一下弹出的列表页。来搜索一下 “2023夏季新款法式优雅” 这个关键字

请添加图片描述

这里直接可以搜索到一个接口

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S7IXU6YN-1689586175058)(doc_image/image-20230717143831053.png)]

vips-mobile/rest/shopping/pc/product/module/list/v2 这个接口返回的信息,我们通过模拟查看参数,

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eExaf8Q6-1689586175058)(doc_image/image-20230717144102538.png)]

这里通过测试,删减参数的方式去除不必要参数,

callback: 貌似是回调函数,不同接口因该不一样 (可以不动)

app_name: 应用名称 (可以不动)

app_version: 应用版本 (可以不动)

warehouse: 仓库 (可以不动)

fdc_area_id: 区域ID (可以不动)

api_key: 密文,需要解决。

productIDS: 产品id 列表 需要解决。

scene: 规则模式 (可以不动)

standby_id: 看不懂,非加密字符,暂不解决

所以经过分析,目前需要解决的只有api key 和 productid 列表

getMerchandiseDroplets1:api_key

先全局搜索api_key, 看看效果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TToRSR96-1689586175059)(doc_image/image-20230717144920162.png)]

这里看似是写死的字符串,好几个JS文件都是 写死的api_key,有可能是定期更换,目前看来是固定的参数,所以就先不管了,需要定期观察。

getMerchandiseDroplets1:productids

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qd0SAEX0-1689586175059)(doc_image/image-20230717145252470.png)]

这些id猜测是对应不同的产品,

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JFdcXjQu-1689586175061)(doc_image/image-20230717145345664.png)]

一共有50个产品

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YDdxiNz2-1689586175062)(doc_image/image-20230717145428334.png)]

而在接口列表里也印证了这一点,所以找到哪里提供的这些产品id。随便搜索一个,6920371236954495889

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tmUxBRRn-1689586175063)(doc_image/image-20230717150009588.png)]

还是同样的vips-mobile/rest/shopping/pc/product/module/list/v2接口,需要注意的是这次call_back的参数变成了 getProductIdsListRank 。

看一下相应

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BQMuS6vA-1689586175063)(doc_image/image-20230717150147006.png)]

里面有120个pid 前五十个正好和上面的可以对应起来。

往下滑动页面看看,能不能触发后面的产品id。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZUYw4tjT-1689586175064)(doc_image/image-20230717150606602.png)]

所以这个触发流程是, 浏览器刷新页面,先产生getProductIdsListRank 列表有120个产品id,触发第一个getMerchandiseDroplets1 取50个产品id,

再通过下滑页面触发后面的50个,20个。继续看getProductIdsListRank 接口的参数

getProductIdsListRank:接口分析

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mrpTZpjv-1689586175064)(doc_image/image-20230717152507906.png)]

这里通过测试,删减参数的方式去除不必要参数,

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6lhioSMj-1689586175065)(doc_image/image-20230717153455796.png)]

和上面相同的参数就不再介绍了,

abtestId:看不懂,暂时不动

mtmsRuleId:什么规则id,看不懂暂时不懂

filterStock: 筛选库存???因该用不到

sort:排序用不到

pageOffset:分页

salePlatform:销售平台用不到

清空一下请求 在重新刷新:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-REZqDnqv-1689586175065)(doc_image/image-20230717154612919.png)]

发现参数只有pageoffset变了,所以其他参数我们不动就可以了。一页120个产品正好对应起来了。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5cprev6D-1689586175065)(doc_image/image-20230717154802600.png)]

这里可以知道mtmsRuleId因该就是产品类型,产品类型的id,我们可以搜索一下看看能不能找到,在这个页面没有搜到,

猜测:在主页点进去的大概率在主页请求的,去主页再测试一下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k7YpCjYf-1689586175066)(doc_image/image-20230717155043250.png)]

把鼠标放在女装这里,

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BtBArEBe-1689586175066)(doc_image/image-20230717155133982.png)]

触发了接口,

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xRnSBPlf-1689586175066)(doc_image/image-20230717155230418.png)]

可以看出来这个getSubCategory30074返回的都是这些类别

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cTk2fxj8-1689586175066)(doc_image/image-20230717155326938.png)]

把鼠标移动下面的类型对应也会出现标签对应的类型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CFosYFwT-1689586175068)(doc_image/image-20230717155537003.png)]

这里往下一滑可以看到确实如此。

这里就那第一个为例子。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CuKvZfpp-1689586175068)(doc_image/image-20230717155751352.png)]

这里还是老参数看起来平平无奇,只有 categoryid 看起来有必要:

请添加图片描述

这里可以拿到全品类的id

总结

1.先获取全类别接口

2.通过类别接口可以得到,分类的详细 categoryId

3.通过详细 categoryId 进行请求 getProductIdsListRank 来获取对应类别的 productId

4.通过 productIds 获取对应产品的详细信息。

唯品会,整体不复杂感觉没有难解决的难点,就是流程稍微长了一点,一步跟着一步。

进行代码实现后展示成果。

这里拿了10页连衣裙的数据,没任何问题,

注意不要频繁访问他人网站

请添加图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值