老哥,帮瞅瞅
Closed this issue · 13 comments
我也是这个情况,求大佬帮助
@DL150408 想到一种问题,可能是因为你本机的时间早于秒苗小程序的时间,导致过早开始抢,然后又因为0.1秒一次,多次之后就会把你封掉。
那有没有办法直接获取秒苗的时间,根据它的时间来抢呢?
@DL150408 这个没办法的,因为大家都是采用的北京时间,但是但是总会因为各种原因导致使用的客户端和秒苗服务器时间对不太上,但是这个误差不会很大的,可以适当调整下开始的时间和每次抢的时间间隔。
我这两天尝试,要不返回
{'code': '9999', 'msg': '操作过于频繁,请稍后再试!', 'ok': False, 'notOk': True}
要不就返回
{'error_msg': '{"code":"9999","msg":"秒杀人数太多,排队中.."}'}
2022-04-22 13:59:59.392831 --线程2--返回数据: {'error_msg': '{"co de":"9999","msg":"秒杀人数太多,排队中.."}'}
感觉抢苗的服务端时间有一些小的误差,大概0.6s,我看有个接口checkstock2是检查疫苗是否可以抢,下次用这个来判断抢的时间试下
有大佬指教下吗?
@cccc24 如果你会写java或者C#的话,你可以自己拉个分支,然后在httpService里面加上这个接口的调用,HttpService里面有封装过的统一的http请求方法。然后在SecService里面,抢苗开始前每隔0.5s调用一次这个接口看是否能抢,如果可以就直接进行抢,如果不行就进行下次。或者你可以把checkstock2的接口入参,响应发给我,让我来改。
@SinnoSong
url='https://miaomiao.scmttec.com/seckill/seckill/checkstock2.do?id=1893' method=get ,其中id为疫苗id
相应为:{
"code": "0000",
"data": {
"stock": 1,
"st": 1650766217454
},
"ok": true,
"notOk": false
}
stock=1为不到抢苗时间,stock=0为可抢状态
@cccc24 看了下这个接口,项目中有使用到,不过是用来获取st,然后加密之后发送秒杀请求的。使用这个接口用来做检查可行性上不太行,会有延迟还有2端之间的时间差异,最好还是提前抢。