下面的分析过程为了简单起见以数据包来分析,通过postman进行数据传输测试。更多详情请加群交流:808798021
一、获取登录二维码【网页版】
分析content-type和post模拟发送请求:
得到响应数据后,数据是base64加密的图片,需要base64解密,解密后的数据保存在png格式的文件中。如果是通过在线图片解密工具解密,需要在头部加**。 data:image/png;base64,**推荐在线解密网站:[]
二、检测二维码扫描并获取相关参数
获取二维码响应请求参数:
手机快手扫码获取响应数据:
三、获取二维码令牌
表单数据qrLoginToken和qrLoginSignature用于获取登录二维码数据,sid值固定
响应结果:
四、为下一次接口调用获取web_st、web_at
请求数据中的qrToken为最后的结束响应结果,sid为固定参数
响应结果:
五、获取cookie数据
响应头:
响应正文:
六、组合 cookie
至此,登录cookie成功获取
七、访问个人信息
请求头携带cookies
请求体[固定参数]:
{"operationName":"userInfoQuery","variables":{},"query":"query userInfoQuery {\n visionOwnerInfo {\n id\n name\n avatar\n eid\n userId\n __typename\n }\n}\n"}
响应正文 [id(快手account), name(快手username)]:+
{"data":{"visionOwnerInfo":{"id":"****","name":"****","avatar":"https://tx2.a.yximgs.com/uhead/AB/2020/12/27/16/BMjAyMD****M***FfMjE2ODA2MDI5Ml8yX2hkNj****_s.jpg","eid":"****","userId":****,"__typename":"BaseUser"}}}
八、退出
这个可以自己研究
九、思考
对于快手登录实现技术有如下疑惑:
获取登录二维码后,检测过程被屏蔽。如何在高并发的情况下实现正常运行。 十、通讯
交流请加QQ群:808798021
扫码入群: