喜马拉雅xm-sign
2021-02-26 本文已影响0人
format_b1d8
接口url数据
![](https://img.haomeiwen.com/i17902660/6929bb76c7e901d7.png)
xm-sign值
![](https://img.haomeiwen.com/i17902660/896c79662efaa6ae.png)
断点看数据
![](https://img.haomeiwen.com/i17902660/2a670347bf77814d.png)
加密规则:
md5(himalaya-服务器时间戳)(100以内随机数)服务器时间戳(100以内随机数)现在时间戳
好了,上代码
def getSign(): # 加密值
"""
生成 xm-sign
规则是 md5(himalaya-服务器时间戳)(100以内随机数)服务器时间戳(100以内随机数)现在时间戳
:return: sign
"""
serverTimeUrl = "https://www.ximalaya.com/revision/time"
# 获取服务器时间
serverTime = requests.get(serverTimeUrl, headers=headers).text
nowTime = str(round(time.time()*1000))
sign = str(hashlib.md5("himalaya-{}".format(serverTime).encode()).hexdigest()) + "({})".format(str(round(random.random()*100))) + serverTime + "({})".format(str(round(random.random()*100))) + nowTime
# 将xm-sign添加到请求头中
return sign