本文浅谈下这几个参数怎么来的,主要是在点赞,关注,还要视频发布的请求里出现这种。
1.登录时的bd-ticket-guard-client-data
bd_ticket_guard_client_data是通过
base64.b64encode(('{"bd-ticket-guard-version":2,"bd-ticket-guard-iteration-version":1,"bd-ticket-guard-ree-public-key":'+f'"{Bd_key}"'+',"bd-ticket-guard-web-version":1}').encode()).decode()
得到的
2.bd-ticket-guard-ree-public-key
bd-ticket-guard-ree-public-key是通过编码私钥,通过一个类似base64编码后得到的,当然不是标准的base64编码
3.正常请求的bd_ticket_guard_client_data
bd-ticket-guard-client-data是base64编码,明文是
'{"ts_sign":"","req_content":"ticket,path,timestamp","req_sign":'
+f'"{res_sign}"'+',"timestamp":'+str(timestamp)+'}'
#廉戏v:ProfessorLuoMing
这里面就涉及到ts_sign跟req_sign了
ts_sign是登录的时候返回的,也是被base64编码了,键名是bd_ticket_guard_server_data,ts_sign就在这里面
req_sign的明文是
req_sign=f"ticket=&path=/aweme/v1/web/commit/item/digg/×tamp={timestamp}"
4.结论
得到这几个参数就可以点赞,关注,或者上传视频了
这里面主要的部分就在于登录,主要参数都是在登录过程中生成的。验证码登录过程中还会遇到滑块验证码,这个旧版的滑块就可以过,跟其他接口也不一样,登录这个接口检测的比较松,其他接口如果用老版本的就会返回验证码过于频繁,这些都是坑,欢迎讨论!!!