【接口流程分析】唯品会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页连衣裙的数据,没任何问题,

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

请添加图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值