使用session管理cookie,本质是从requests.session()获取session,然后使用session发送验证码数据,然后cookie等数据就被存储到session中了。在次使用该cookie发送请求的时候就会自带cookie,前一次请求的cookie结果被存储。
-
# 读入request 包 import requests
-
# 编写参数 # 登录请求URL login_req_url = "http://127.0.0.1/index.php?m=Home&c=User&a=do_login&t=0.26704270445050515"; # 登录参数 login_data_info = { "username": "13800138006", "password": "123456", "verify_code": "8888", }
-
# 获取登录验证码请求 get_verigy_code_url = "http://127.0.0.1/index.php?m=Home&c=User&a=verify&r=0.4507740559733051"
-
# 发送获取验证码请求,获取session session_send_data = requests.session() result_response_data = session_send_data.get(url=get_verigy_code_url); print(result_response_data.content)
-
# 获取session,使用session发送登录请求 login_sussces = session_send_data.post(url=login_req_url, data=login_data_info, headers={"Content-Type": "application/x-www-form-urlencoded"}); print("使用session登录: ", login_sussces.content)
-
# 使用cookie 登录 result_response_data = requests.get(url=get_verigy_code_url); cookie_test = result_response_data.cookies print(cookie_test) cookie_login = requests.post(url=login_req_url, data=login_data_info, headers={"Content-Type": "application/x-www-form-urlencoded"}, cookies=cookie_test ) print("使用cookie登录: ", cookie_login.content)
- 运行结果
- 完整代码
-
# 读入request 包 import requests # 编写参数 # 登录请求URL login_req_url = "http://127.0.0.1/index.php?m=Home&c=User&a=do_login&t=0.26704270445050515"; # 登录参数 login_data_info = { "username": "13800138006", "password": "123456", "verify_code": "8888", } # 获取登录验证码请求 get_verigy_code_url = "http://127.0.0.1/index.php?m=Home&c=User&a=verify&r=0.4507740559733051" # 发送获取验证码请求,获取session session_send_data = requests.session() result_response_data = session_send_data.get(url=get_verigy_code_url); print(result_response_data.content) # 获取session,使用session发送登录请求 login_sussces = session_send_data.post(url=login_req_url, data=login_data_info, headers={"Content-Type": "application/x-www-form-urlencoded"}); print("使用session登录: ", login_sussces.content) # 使用cookie result_response_data = requests.get(url=get_verigy_code_url); cookie_test = result_response_data.cookies print(cookie_test) cookie_login = requests.post(url=login_req_url, data=login_data_info, headers={"Content-Type": "application/x-www-form-urlencoded"}, cookies=cookie_test ) print("使用cookie登录: ", cookie_login.content)
-