爬虫js逆向实战--韵达快递获取滑块接口

韵达快递获取滑块接口(内容仅供参考学习

目标分析:

  • 首先获取接口-- http://ydgw.yundasys.com:31620/index.php/api/order.record/captcha

  • 点击滑块下面的刷新按钮, 然后我们会在开发者工具中发现出现了2个api请求其中下面这个是我们需要的。在这个接口上,我们可以看到有3个加密字段:
    爬虫js逆向实战--韵达快递获取滑块接口_第1张图片
    接下来开始寻找3个字段加密位置, 打开Initialor栏,我们可以慢慢寻找加密位置,最终在这个位置的函数中:
    爬虫js逆向实战--韵达快递获取滑块接口_第2张图片
    爬虫js逆向实战--韵达快递获取滑块接口_第3张图片

  • 最后附上代码:

def get_encrypt_arg():
    timestamp = str(int(time.time()))
    char = "0123456789abcdefghijklmnopqrstuvwxyz"
    randomStr = ''
    for i in range(11):
        randomStr += ''.join(random.choices(char))
    sign = str(randomStr) + 'API' + str(timestamp)
    signature = md5(sha1(sign.encode("utf-8")).hexdigest().encode("utf-8")).hexdigest().upper()
    return timestamp, randomStr, signature

在这里我说一下我遇到的坑,python中MD5加密有一个update()方法得到的加密字段会和MD5加密结果不一样。害,白忙了半天,找问题了。

你可能感兴趣的:(爬虫逆向实战,python,js,爬虫)