关于大数据:快手协议签名算法实现

5次阅读

共计 1836 个字符,预计需要花费 5 分钟才能阅读完成。

1、抓包工具抓取一个申请

POST /rest/n/feed/nearby?app=0&kpf=ANDROID_PHONE&ver=6.5&c=HUAWEI_KWAI&mod=HUAWEI%28HWI-AL00%29&appver=6.5.5.9591&ftt=&isp=CUCC&kpn=KUAISHOU&lon=102.698614&language=zh-cn&sys=ANDROID_9&max_memory=384&ud=0&country_code=cn&oc=HUAWEI_KWAI&hotfix_ver=&did_gt=1584622753889&iuid=&net=WIFI&did=ANDROID_9ba4839bf09a1834&lat=25.002707 HTTP/1.1
 
type=10&page=1&token=&count=20&id=9&refreshTimes=0&coldStart=false&source=1&browseType=1&seid=60ed7899-e25e-4b9b-b971-3f75b4df00fd&os=android&sig=75e33af6cb4a795c039e0f94a9bd27bf&client_key=3c2cd3f3

2、剖析

        能够看到申请的参数中,有一个字段叫 sig,咱们次要要做的工作就是通过参数计算出这个 sig,通过逆向剖析发现,这个 sig 计算形式为:

把 url 中的参数放入 map1 中;
把表单中的参数放入 map2 中;
把 map1 和 map2 中的元素以 key=value 的模式放入 arraylist 中

对 arraylist 进行排序;
把 arraylist 中的元素按程序拼接成一个字符串 str;
把 str 转成 bytearray;
调用 CPU.getClock(),传入 str 计算签名;
CPU.getClock()是一个 native 办法,在 libcore.so 中实现

3、放代码

from sig import signature
import requests
para = {
    "app":"0",
    "kpf":"ANDROID_PHONE",
    "ver":"6.5",
    "c":"HUAWEI_KWAI",
    "mod":"HUAWEI(HWI-AL00)",
    "appver":"6.5.5.9591",
    # "ftt":"","isp":"CUCC","kpn":"KUAISHOU",
    # "lon":"102.698614",
    "language":"zh-cn",
    "sys":"ANDROID_9",
    "max_memory":"384",
    "ud":"0",
    "country_code":"cn",
    "oc":"HUAWEI_KWAI",
    # "hotfix_ver":"","did_gt":"1584622753889",
    # "iuid":"","net":"WIFI","did":"ANDROID_9ba4839bf09a1834",
    # "lat":"25.002707"
}
post = {
    "type":"10",
    "page":"1",
    "token":"","count":"20","id":"9","refreshTimes":"0","coldStart":"false","source":"1","browseType":"1","seid":"60ed7899-e25e-4b9b-b971-3f75b4df00fd","os":"android","client_key":"3c2cd3f3"
}
j = signature.WeChat_YY_yhzf.sig_post("https://apissl.ksapisrv.com/rest/n/feed/nearby",para,post)
header = {"Content-Type":"application/x-www-form-urlencoded"}
 
resp = requests.post(j["para"], data=j["data"],headers=header)
print(resp.text)

申请后果如下:

搞定,完满。其余接口相似解决即可。

——————————————————————————————————————————

TiToData:业余的短视频、直播数据接口服务平台。

更多信息请分割:TiToData

笼罩支流平台:抖音,快手,小红书,TikTok,YouTube

正文完
 0