设想这样一个场景:第一次请求利用post()方法登录了某个网站,第二次想获取成功登录之后的个人信息,又用了一个get()方法去请求个人信息页面,实际上相当于打开了两个完全不相关的会话,这样并不能成功获取到个人信息
解决方案:维持同一个会话,也就是相当于使用同一个浏览器打开不同的页面,而不是每次都要重新设置cookie,这时候就有了session对象
import requests
# 创建session对象
session_obj = requests.Session()
# 请求 http://httpbin.org/cookie/set/numbre/123456789 设置coolie信息名称是number,内容是123456789
# http://httpbin.org/cookies 请求这个网址可以获取当前的cookies
url = 'http://httpbin.org/cookies/set/numbre/123456789'
response = requests.get(url)
print(response.text)
url = 'http://httpbin.org/cookies'
response = requests.get(url)
print(response.text)
# ==================
url = 'http://httpbin.org/cookies/set/numbre/123456789'
response = session_obj.get(url)
print(response.text)
url = 'http://httpbin.org/cookies'
response = session_obj.get(url)
print(response.text)