欢迎光临
我们一直在努力

猿人学 第三题 访问逻辑 - 推心置腹

题目地址 https://match.yuanrenxue.cn/match/3


找了一圈没有发现加密参数,但是发现每次点击都发两次请求,可能这就是检测点,这道题还是比较简单的 如上图

以为只是简单的两次请求,没想到还有headers顺序检测,这个需要用抓包工具来看,我用的charles 如下图

在这里插入图片描述
整体代码如下

import requests
import json

url = "https://match.yuanrenxue.cn/"
session = requests.session()
session.headers = {
"sec-ch-ua-platform": "\\"Windows\\"",
"x-requested-with": "XMLHttpRequest",
"user-agent": 'yuanrenxue',
"accept": "application/json, text/javascript, */*; q=0.01",
"sec-ch-ua": "\\"Not/A)Brand\\";v=\\"99\\", \\"Chromium\\";v=\\"148\\"",
"sec-ch-ua-mobile": "?0",
"sec-fetch-site": "same-origin",
"sec-fetch-mode": "cors",
"sec-fetch-dest": "empty",
"referer": "https://match.yuanrenxue.cn/match/3",
"accept-encoding": "gzip, deflate, br, zstd",
"accept-language": "zh-CN,zh;q=0.9",
"cookie": "sessionid=fe6df1ykstch0l1gwsvqibef0eafbpdv",
"priority": "u=0, i"
}

def send1():
url1 = url + "api2/3"
res = session.get(url1)
# print(res)

def send2(page):
url2 = url + "api/question/3"

params = {
'page': page,
'pageSize': 10,
"kw": ""
}

res = session.get(url2, params=params)
# print(res)

data = json.loads(res.text).get("data")

print(i, data)

sum = 0
for item in data:
sum += item

return sum

if __name__ == '__main__':
sum = 0
for i in range(1, 6):
send1()
sum += send2(i)
print(sum)

赞(0)
未经允许不得转载:171主机测评 » 猿人学 第三题 访问逻辑 - 推心置腹
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址