diff --git a/猿人学练习/6骚操作session保持检测/main.py b/猿人学练习/6骚操作session保持检测/main.py new file mode 100644 index 0000000..19e9988 --- /dev/null +++ b/猿人学练习/6骚操作session保持检测/main.py @@ -0,0 +1,36 @@ +import re +import requests +import json + + +def challenge6(page, sign, sessionid): + url = "https://www.python-spider.com/api/challenge6" + payload = f"page={page}" + headers = { + 'cookie': f'sessionid={sessionid}; sign={sign}', + 'content-type': 'application/x-www-form-urlencoded; charset=UTF-8' + } + response = requests.request("POST", url, headers=headers, data=payload) + set_cookie = response.headers.get('Set-Cookie') + sign = re.findall(r'sign=(.*?); Path', set_cookie)[0] + sessionid = re.findall(r'sessionid=(.*?); expires', set_cookie)[0] + return response.text, sign, sessionid + + +def run(): + data_num = 0 + sign = '' + sessionid = '' + for page in range(1, 101): + response_text, sign, sessionid = challenge6(page, sign, sessionid) + res_dict = json.loads(response_text) + data_list = res_dict.get('data') + print(data_list) + for data in data_list: + data_num += int(data.get('value')) + print(data_num) + print(data_num) + + +if __name__ == '__main__': + run() diff --git a/猿人学练习/6骚操作session保持检测/readme.md b/猿人学练习/6骚操作session保持检测/readme.md new file mode 100644 index 0000000..a6767d4 --- /dev/null +++ b/猿人学练习/6骚操作session保持检测/readme.md @@ -0,0 +1,14 @@ +# 知识点:`session`存在`set-cookie`中 + +## 解题思路 + +既然题目已经告诉你了是`session`问题,直接看请求内容 + +![请求](./img/1.png) + +发现response中存在`set-cookie`内容 + + set-cookie: sign=ueozvfnqbj; Path=/ + set-cookie: sessionid=zp9745ys9dywe1zfs1do604nt70athll; expires=Wed, 01 Feb 2023 14:27:00 GMT; HttpOnly; Max-Age=2160 + +将`sign`和`sessionid`添加到下一个请求中,这题就解决了 \ No newline at end of file