- 第一步是genToken ,这一步需要sign签名,charles抓包下来的sign签名是可以重复利用的,请求后获得Token与下一步需要跳转的url:
- 然后是appjmp步骤,请求链接为:https://un.m.jd.com/cgi-bin/app/appjmp,需要用到第一步中的tokenKey,请求后的response.headers:
- divide 这一步也是get请求,完整的请求链接已经包含在第二步的response.headers[‘location’]中,请求后的response.headers:
-
location中的url即为下一步跳转的链接,这三个set cookie是不需要的。
- captcha 验证,这一步成功的话就可以跳转到“填写订单”的页面,get请求后
-
seckill100012043978在set cookie里重复出现,取最后一个即可。
seckill.action请求,在app上就是填写订单,请求时需要带上captcha_set_cookie,如果请求成功,response.status_code为200,否则为302。需要说明的是,只有在抢购期间内才会请求成功,否则都是失败的,请求的response.headers为
-
1.genToken
to body 携带参数:{"action":"to","to":"https%3A%2F%2Fdivide.jd.com%2Fuser_routing%3FskuId%3D100012043978%26from%3Dapp"}
2.jmp
https://divide.jd.com/user_routing?skuId=100012043978&from=app
3.divide
4.captcha
5.init.action
接口为:POST https://marathon.jd.com/seckillnew/orderService/init.action
6.提交订单,
提交接口为:POST https://marathon.jd.com/seckillnew/orderService/submitOrder.action?skuId=100012043978 HTTP/1.1提交参数为:
"num": ,"addressId": "yuShou": "isModifyAddress": "name": "provinceId":"provinceName": "cityId": "cityName": "countyId": "countyName": "townId": "townName": "addressDetail": "mobile": "mobileKey": "email": "","invoiceTitle":"invoiceContent": "invoicePhone": "invoicePhoneKey": "invoice": "codTimeType": "paymentType": "overseas": "token":现在的订单接口已经不需要SK~OK 搞定~~ -
完整代码 需要交流小伙伴免费送上 整套代码
JD 最新抢购 分析及完整代码
于 2023-10-09 12:00:15 首次发布