小白学加速乐的理解

本来是想学下树美的,感觉太难了,就开始了学习加速乐的进程,网上文章挺多的,到了自己就整不起走,对大佬来说可能就是一些小知识点,无需挂齿,今天我把自己的理解做个小记录。
1,在这里插入图片描述2.打开抓包后,打开浏览器开发者工具,在debugger就断着了,大胆调试看数据。

网址:aHR0cHM6Ly93d3cubXBzLmdvdi5jbi9pbmRleC5odG1s
代码

import json
import re
import requests
import execjs
from hashlib import md5, sha1, sha256
import ast


def mps():
    cookies = {}
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"
    }

    url = "https://***"
    resp_first = requests.get(url=url, headers=headers)
    # print(resp_first.text)
    # print(resp_first.cookies)
    # 获取 jsluid_s
    cookies.update(resp_first.cookies)
    print("获取第一次响应生成的 __jsl_clearance_s 参数=====================")
    js_clearance = re.findall('cookie=(.*?);location', resp_first.text)[0]
    '''js_code = "function get_cookies(){"+js_clearance+"return cookie}"
    cookie = execjs.compile(js_code).call('get_cookies').split(';')[0].split('=')
    cookies.update({cookie[0]: cookie[1]})'''
    aa_result = execjs.eval(js_clearance).split(';')[0]
    print(aa_result)
    # 获取第一次响应生成的 __jsl_clearance_s 参数
    cookies['__jsl_clearance_s'] = aa_result.split("=")[1]
    print("获取第二次响应生成的 __jsl_clearance_s 参数=====================")
    resp_second = requests.get(url=url, headers=headers, cookies=cookies)
    # print(resp_second.text)
    '''dd = re.findall(';go\((.*?)\)</script>', resp_second.text)[0]
    print(dd)
    # 获取字典内容
    params = json.loads(dd)
    with open('jiasule.js', 'r', encoding='utf-8') as f:
        jsl_js = f.read()
    js_clearance_s = execjs.compile(jsl_js).call('cookies', params)
    # 获取第二次响应生成的 js_clearance_s 参数
    cookies.update(js_clearance_s)'''
    dd = ast.literal_eval(re.findall(r'go\((.*?)\)', resp_second.text)[1])  # 会判断需要计算的内容是不是合法的python类型,合法再进行运算,提高安全性。
    # print(dd)
    js_clearance_s = go(dd)
    print(js_clearance_s)
    cookies.update({'__jsl_clearance_s': js_clearance_s})

    resp_third = requests.get(url=url, headers=headers, cookies=cookies)
    resp_third.encoding = 'utf-8'
    print(resp_third.text)


def go(data):
    chars = data["chars"]
    encrypt = ''
    for i in chars:
        for j in chars:
            cookie = data["bts"][0] + i + j + data["bts"][1]
            if data['ha'] == 'md5':
                encrypt = md5()
            elif data['ha'] == 'sha1':
                encrypt = sha1()
            elif data['ha'] == 'sha256':
                encrypt = sha256()
            encrypt.update(cookie.encode(encoding='utf-8'))
            if encrypt.hexdigest() == data['ct']:
                return cookie


if __name__ == '__main__':
    mps()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值