hxs1 发表于 2022-12-23 20:30

猿人学第20题加密参数,

本帖最后由 hxs1 于 2023-1-3 11:59 编辑

这是猿人学第20题的,这个是加密参数吧?"D#uqGdcw41pWeNXm",但是在sign加密位置那里没有找到这个呢?哪位大佬能解释下,谢谢




import re
import time

import requests
import hashlib

headers = {
    "user-agent": "yuanrenxue,project"
}

cookies = {
    "sessionid": " your sessionid "
}

url = "https://match.yuanrenxue.com/api/match/20"


def main():
    num_add_total = 0

    for page_num in range(1, 6):

      timestamp = str(int(time.time() * 1000))
      sign = hashlib.md5((str(page_num) + "|" + timestamp + "D#uqGdcw41pWeNXm").encode()).hexdigest()

      params = {
            "page": page_num,
            "sign": sign,
            "t": timestamp
      }

      response = requests.get(url, headers=headers, cookies=cookies,
                              params=params)

      num_add = 0
      for i in range(10):
            value = response.json()['data']
            num = re.findall(r"'value': (.*?)}", str(value))
            num_add += int(num)

      num_add_total += num_add

    print(num_add_total)


if __name__ == '__main__':
    main()

RainPPR 发表于 2022-12-23 20:41

这个"D#uqGdcw41pWeNXm"前是个加号,还用括号括起来了,我看着像字符串拼接,应该不是加密参数吧。括号外有.encode和hashlib.md5,可以看出是MD5编码。
本人理解哈,不一定对

hxs1 发表于 2022-12-23 21:21

RainPPR 发表于 2022-12-23 20:41
这个"D#uqGdcw41pWeNXm"前是个加号,还用括号括起来了,我看着像字符串拼接,应该不是加密参数吧。括号外有 ...

😂好像是md5加盐,字符串拼接,那个加密位置那里没有呢,

hxs1 发表于 2022-12-23 22:07

RainPPR 发表于 2022-12-23 20:41
这个"D#uqGdcw41pWeNXm"前是个加号,还用括号括起来了,我看着像字符串拼接,应该不是加密参数吧。括号外有 ...

大佬,这个前3页有正常结果,但是后面2页,咋出现json解码错误呢?


import requests
import time
import hashlib

headers = {

    'cookie': "netopq4wh464t469nm0q8kjlod80gqgf",

    'user-agent': 'yuanrenxue.project'
}
count = 0
for page in range(4, 7):
    # 获取时间戳
    t = time.time()
    t = str(int(t)) + "000"
    # 获取sign 参数
    sign = hashlib.md5((str(page) + "|" + t + 'D#uqGdcw41pWeNXm').encode()).hexdigest()
    params = (
      ('page', page),
      ('sign', sign),
      ('t', t),
    )
    response = requests.get('https://match.yuanrenxue.com/api/match/20', headers=headers, params=params)
    # print(type(response.text))


    data = response.json().get('data')

    for i in data:
      count += i.get('value')
print(count)

漁滒 发表于 2022-12-24 10:18

你先说说你这代码哪里抄过来的{:17_1068:}

hxs1 发表于 2022-12-24 11:19

漁滒 发表于 2022-12-24 10:18
你先说说你这代码哪里抄过来的

大佬,卧槽,大佬来了,这是csdn上的
页: [1]
查看完整版本: 猿人学第20题加密参数,