本文仅供学习,请勿用作其他用途,如有侵权请联系我删除。
请求流程
1.获取验证码
2.下载图片识别缺口
3.随机生成轨迹
4.加密参数
5.验证
前两步就不说了,很简单
随机生成轨迹
首先看一下它的轨迹是什么样的
每一个小数组里边 第一值是每一次的滑动的距离,第二个值根据测试可以固定,第三个值就是时间。最后滑动到缺口的位置就可以。根据这个可以写一个随机生成的代码,成功率还可以。
def get_random(distance):
"""
param
distance : 缺口位置
return
track_list: 轨迹数组
"""
#初始轨迹
track_list = [[0,random.randint(-20,-2),0]]
#随机记录滑动次数
while True:
before_track = track_list[-1]
x = random.randint(0,40)
y = 0
z = random.randint(98,120)
new_x = x + before_track[0]
new_z = z + before_track[2]
if new_x >= distance:
track_list.append([distance, y, new_z])
break
else:
track_list.append([new_x,y,new_z])
for i in range(3):
before_track = track_list[-1]
z = random.randint(98, 120)
track_list.append([before_track[0], before_track[1], z + before_track[2]])
return track_list
第四步就是找加密的位置了
经过多次在网页端的滑动 发现每次都变的值只有
rid是获取图片的时候返回来的
callback是时间戳
其他三个参数是js加密生成,直接全局搜索zs,发现这个地方有
有三处,所以三个case都打断点,看看走哪个case,之后发现走的是第二个,那接下来就是扣代码了,这个也挺简单的 就不细说了。最后贴一下结果
一起交流学习的加Q,1281410804