session和requests的区别

  • Post author:
  • Post category:其他


区别:

requests是做一次请求的,当一次请求结束之后,requests请求的内容就会被释放,类似于“做一次性买卖”。

session是做一次请求后,请求不会被立即释放,可以请求跨越多个页面,类似于出去旅游的买的套票,不进可以去A景区,还可以去其他B景区、C景区等。

优缺点:

request占用资源比较少,但是缺乏持续性,比如每个网站需要先登陆再进行其他操作,这时候就不能用request。

session资源的消耗会大点,安全性相对来说也会稍微低点,但可以持续进行会话,session对象能够帮我们跨请求保持某些参数,也会在同一个session实例发出的所有请求之间保持cookies,例如:

# 创建一个session对象 
s = requests.Session() 
# 用session对象发出get请求,设置cookies 
s.get('https://so.gushiwen.cn/user/login.aspx?from=http%3a%2f%2fso.gushiwen.cn%2fuser%2fcollect.aspx) 
# 用session对象发出另外一个get请求,获取cookies 
r = s.get("https://so.gushiwen.cn/user/collect.aspx") 

因此在日常遇到请求是持续性的话,需要用session,而一次性请求的话使用requests。



版权声明:本文为sl01224318原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。