当前位置: 首页 > article >正文

【js逆向_入门】图灵爬虫练习平台 第四题

(base64解码)地址:aHR0cHM6Ly9zdHUudHVsaW5ncHl0b24uY24vcHJvYmxlbS1kZXRhaWwvNC8=

请求接口带有加密参数:

全局搜索Sign,找到参数生成位置

一目了然,知道参数是怎么构造生成的

调试代码

测试验证思路是否正确

时间:

timestamp = int(time.time() * 1000)

sign:

md5 = hashlib.md5()
data = "tuling" + str(timestamp) + str(pageNumber)
md5.update(data.encode('utf-8'))
sign = md5.hexdigest()

完整的python代码:

import requests
import time

import hashlib

base_url = 'https://stu.tulingpyton.cn/api/problem-detail/4/data/'

sum = 0
for pageNumber in range(1, 21):
    timestamp = int(time.time() * 1000)
    md5 = hashlib.md5()
    data = "tuling" + str(timestamp) + str(pageNumber)
    md5.update(data.encode('utf-8'))
    sign = md5.hexdigest()

    headers = {
        "authority": "stu.tulingpyton.cn",
        "method": "GET",
        "scheme": "https",
        "accept": "*/*",
        "accept-encoding": "gzip, deflate, br, zstd",
        "accept-language": "zh-CN,zh;q=0.9",
        "cache-control": "no-cache",
        "cookie": "csrftoken=bUQnx7WcbwsloLWvzCkVFYFqSTDCDN91; sessionid=ri4hj62n9kmc222rtgi60ou2jdryevv7; Hm_lvt_b5d072258d61ab3cd6a9d485aac7f183=1739864249",
        "pragma": "no-cache",
        "priority": "u=1, i",
        "referer": "https://stu.tulingpyton.cn/problem-detail/4/",
        "sec-ch-ua": "\"Google Chrome\";v=\"131\", \"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"",
        "sec-ch-ua-mobile": "?0",
        "sec-ch-ua-platform": "\"Windows\"",
        "sec-fetch-dest": "empty",
        "sec-fetch-mode": "cors",
        "sec-fetch-site": "same-origin",
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",
    }
    params = {
        "page": pageNumber,
        "sign": sign,
        "_ts": timestamp
    }
    res = requests.get(base_url, params=params, headers=headers)
    json_data = res.json()
    print(json_data)
    for j in json_data['current_array']:
        sum += j

print(sum)

运行结果: 

 


http://www.kler.cn/a/551473.html

相关文章:

  • mybatis存储过程返回list
  • Helm快速开始
  • 【SQL】SQL多表查询
  • Windows系统安装GPU驱动
  • 数据分析的AI+流程(个人经验)
  • 一笔画-获取图像轮廓坐标点
  • JavaScript设计模式 -- 迭代器模式
  • vmware下ubuntu无法上网,电脑通过wifi连网
  • 罗德与施瓦茨ZNB4,4.5GHz网络分析仪的佼佼者
  • openGauss 3.0 数据库在线实训课程18:学习视图管理
  • 基于Qlearning强化学习的1DoF机械臂运动控制系统matlab仿真
  • 【GPIO详解及实践示例】
  • Leetcode 3459. Length of Longest V-Shaped Diagonal Segment
  • 大数据学习(48) - Flink状态种类
  • 李代数和李群的转化方法
  • Openssl交叉编译
  • 项目流程图
  • BSD协议栈:UDP发送
  • Python中通过Pymysql连接MySQL
  • SoftwareCluster中如何配置VendorSignature