唯品会WEB端
来看看唯品会是怎么回事,
地址:aHR0cHM6Ly93d3cudmlwLmNvbS8=
https://github.com/Guapisansan/gpss_learn_reverse 代码在这里,会持续更新逆向案例
免责声明: 此文档,以及脚本,仅用来对技术的学习与探讨,如有冒犯,请联系作者电话,微信13933566015进行删除
目的

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

弹出新网面,10000件商品 84页。
流程分析
刷新一下弹出的列表页。来搜索一下 “2023夏季新款法式优雅” 这个关键字

这里直接可以搜索到一个接口
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S7IXU6YN-1689586175058)(doc_image/image-20230717143831053.png)]](https://img-blog.csdnimg.cn/099a2eddc4c643f5b7c54050dc3ea37d.png)
vips-mobile/rest/shopping/pc/product/module/list/v2 这个接口返回的信息,我们通过模拟查看参数,
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eExaf8Q6-1689586175058)(doc_image/image-20230717144102538.png)]](https://img-blog.csdnimg.cn/6eff3a1f2a7b4e4ba1bea51e08d8e972.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)]](https://img-blog.csdnimg.cn/52189c5a9b1c4071a39c37269ed92c89.png)
这里看似是写死的字符串,好几个JS文件都是 写死的api_key,有可能是定期更换,目前看来是固定的参数,所以就先不管了,需要定期观察。
getMerchandiseDroplets1:productids
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qd0SAEX0-1689586175059)(doc_image/image-20230717145252470.png)]](https://img-blog.csdnimg.cn/361ad824ec7b4b31b4ed2b91b249e10f.png)
这些id猜测是对应不同的产品,
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JFdcXjQu-1689586175061)(doc_image/image-20230717145345664.png)]](https://img-blog.csdnimg.cn/176ad950f7c74ff089089c0b18b3b526.png)
一共有50个产品
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YDdxiNz2-1689586175062)(doc_image/image-20230717145428334.png)]](https://img-blog.csdnimg.cn/80e6ae9f949c4ae9a905e7597703cabd.png)
而在接口列表里也印证了这一点,所以找到哪里提供的这些产品id。随便搜索一个,6920371236954495889
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tmUxBRRn-1689586175063)(doc_image/image-20230717150009588.png)]](https://img-blog.csdnimg.cn/e9dcd667416246849b79f5107a28242c.png)
还是同样的vips-mobile/rest/shopping/pc/product/module/list/v2接口,需要注意的是这次call_back的参数变成了 getProductIdsListRank 。
看一下相应
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BQMuS6vA-1689586175063)(doc_image/image-20230717150147006.png)]](https://img-blog.csdnimg.cn/fe15e6f17366451c88040e9a79d22d9b.png)
里面有120个pid 前五十个正好和上面的可以对应起来。
往下滑动页面看看,能不能触发后面的产品id。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZUYw4tjT-1689586175064)(doc_image/image-20230717150606602.png)]](https://img-blog.csdnimg.cn/29bea0740d0645b8b0ad1607ab29fe05.png)
所以这个触发流程是, 浏览器刷新页面,先产生getProductIdsListRank 列表有120个产品id,触发第一个getMerchandiseDroplets1 取50个产品id,
再通过下滑页面触发后面的50个,20个。继续看getProductIdsListRank 接口的参数
getProductIdsListRank:接口分析
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mrpTZpjv-1689586175064)(doc_image/image-20230717152507906.png)]](https://img-blog.csdnimg.cn/7fb4b531a0d04f7594a071d4b448e10f.png)
这里通过测试,删减参数的方式去除不必要参数,
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6lhioSMj-1689586175065)(doc_image/image-20230717153455796.png)]](https://img-blog.csdnimg.cn/80c4b399eb204b2f819513638441bd7d.png)
和上面相同的参数就不再介绍了,
abtestId:看不懂,暂时不动
mtmsRuleId:什么规则id,看不懂暂时不懂
filterStock: 筛选库存???因该用不到
sort:排序用不到
pageOffset:分页
salePlatform:销售平台用不到
清空一下请求 在重新刷新:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-REZqDnqv-1689586175065)(doc_image/image-20230717154612919.png)]](https://img-blog.csdnimg.cn/0a9624c8f2d34350a3a2fdbe4b023bd5.png)
发现参数只有pageoffset变了,所以其他参数我们不动就可以了。一页120个产品正好对应起来了。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5cprev6D-1689586175065)(doc_image/image-20230717154802600.png)]](https://img-blog.csdnimg.cn/7bb8238c5be94e7eabf14a20f3afee0e.png)
这里可以知道mtmsRuleId因该就是产品类型,产品类型的id,我们可以搜索一下看看能不能找到,在这个页面没有搜到,
猜测:在主页点进去的大概率在主页请求的,去主页再测试一下
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k7YpCjYf-1689586175066)(doc_image/image-20230717155043250.png)]](https://img-blog.csdnimg.cn/efe9669e63c04fa78d5a6590467ae513.png)
把鼠标放在女装这里,
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BtBArEBe-1689586175066)(doc_image/image-20230717155133982.png)]](https://img-blog.csdnimg.cn/8a2f14429ca4478f8c1106603115a9af.png)
触发了接口,
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xRnSBPlf-1689586175066)(doc_image/image-20230717155230418.png)]](https://img-blog.csdnimg.cn/a57805dd634c4e7b9f8a2cc35394bc41.png)
可以看出来这个getSubCategory30074返回的都是这些类别
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cTk2fxj8-1689586175066)(doc_image/image-20230717155326938.png)]](https://img-blog.csdnimg.cn/6e8bdae7a917497ebf24d938ae62dca7.png)
把鼠标移动下面的类型对应也会出现标签对应的类型
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CFosYFwT-1689586175068)(doc_image/image-20230717155537003.png)]](https://img-blog.csdnimg.cn/f2a3bf78ac4f42b49261020b8514d71d.png)
这里往下一滑可以看到确实如此。
这里就那第一个为例子。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CuKvZfpp-1689586175068)(doc_image/image-20230717155751352.png)]](https://img-blog.csdnimg.cn/1c233e8330cf4f4b8d2d965a3fdfd4cc.png)
这里还是老参数看起来平平无奇,只有 categoryid 看起来有必要:

这里可以拿到全品类的id
总结
1.先获取全类别接口
2.通过类别接口可以得到,分类的详细 categoryId
3.通过详细 categoryId 进行请求 getProductIdsListRank 来获取对应类别的 productId
4.通过 productIds 获取对应产品的详细信息。
唯品会,整体不复杂感觉没有难解决的难点,就是流程稍微长了一点,一步跟着一步。
进行代码实现后展示成果。
这里拿了10页连衣裙的数据,没任何问题,
注意不要频繁访问他人网站












![【golang中的切片的相关知识点】[ ] slice](https://img-blog.csdnimg.cn/d5d4d47142ef45a58807df357cc7b5a8.png)





![[LINUX]之文本匹配多行](https://img-blog.csdnimg.cn/54c21531c8e04564aa3314819b95b642.png)

