秀动抢票 gettoken
更新不会很快,第一次写,会有点乱。
第二章 Cusat Cusit获取
前言
我是一个游戏开发者,最近转型干了医疗,喜欢爬虫,网上冲浪看到喜欢的东西想保存下来。
为什么选择秀动呢?因为我和女朋友喜欢的乐队都是一些不算大热门的乐队,大麦很少有他们的票。比如【夏日入侵企画】【康姆士】【霓虹花园】【帆布小镇】等等之类。他们的票,以前在深圳500人场的时候,很难抢!现在光明那个1000人+的场馆开了以后,票容易抢了很多。虽然咸鱼可以加价买到他们的票,但是我宁死不从!
一、Post参数
sign
st_flpv
trackPath
秀动参数配置教程
这是一个post协议,把上面的参数转成json格式的字符串,就行了,不需要对参数进行别的加密。
data = {
'sign': self.sign,
'st_flpv': self.st_flpv,
'trackPath': ''
}
json_data = json.dumps(data)
二、Crpsign加密
在秀动协议里,都会用到这个crpsign加密,这是一个MD5加密
在wap里他的加密方式是
a+t+i+s+"wap"+_+E+n,url+"997"+f+v
然后进行md5加密
这些混淆的参数对应的是
cusat + sign + cusit + userID + "wap" + cuuserref + E + url + "997" + "wap" + v
这里虽然填写了cusat cusit 因为没具体获取到值,此时他们还是空字符串 “”,
url 指得是 每个协议的v3后面的参数 例如gettoken协议:
https://wap.showstart.com/v3/waf/gettoken 他所对应的url就是
/waf/gettoken
E是这次协议post参数的字符串,上面已经说了具体的参数。
其他对应的参数都可以在秀动参数配置教程这里找到
二、v加密
这是一个每次请求都会动态变化的值,在请求头里的key是Crtraceid
一个随机字符串,给后面的值做密钥用的,没有具体含义
v = e(32)
def v( e):
n = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" + str(int(time.time() * 1000))
t = []
for i in range(e):
t.append(n[int(random.random() * len(n))])
return "".join(t) + str(qtime())
总结
Crpsign 和 Crtraceid是秀动所有协议都需要的参数,只有搞懂这2个参数的加密方式,后面才可以提交订单,支付订单。