requests库session保持持久会话
requests中cookie的原理
requests - cookies的实现例子
在请求中带入cookies信息:
#获取登录后的cookies内容
import requests
login_url='http://xxx.com/api/v1/user/login'
userinfo={"ua":"username","pw":"password"}
login=requests.post(login_url,json=userinfo)
cookies=login.cookies
#在请求中带入cookies
myaddress_url='http://xxxx/api/v1/myaddress'
myaddress=requests.get(myaddress_url,cookies=cookies)
使用session类来发送请求
import requests
login_url='http://xxxx/api/v1/user/login'
userinfo={"ua":"username","pw":"password"}
myaddress_url='http://xxx/api/v1/myaddress'
test_session=requests.session() #使用session类生成一个对象
login=test_session.post(login_url,json=userinfo) # 通过session的post方法登录,此时是会返回cookie值的
myaddress=test_session.get(myaddress_url) # cookie值已经保存在session中
session实现原理
服务器创建session出来后,会把session的id号,以cookie的形式回写给客户机,这样,只要客户机的浏览器不关,再去访问服务器时,都会带着session的id号去,服务器发现客户机浏览器带session id过来了,就会使用内存中与之对应的session为之服务。
Henry