这个问题严格来讲不是我碰到的,是偶尔在群里看到有人提问然后查了一波,发现原来还有这个问题,感觉自己以后也会碰到(最近做毕业设计全写的c++,根本没空摸Python,蛋疼。

首先,选择使用requests.session而不是单纯的requests.get或者post啥的理论上应该在第一次配置之后就能在后续请求中复用所有配置,比如,我们一般使用session来进行登录,这时候session对象会识别登录返回的请求中的set-cookie头并且自动为后续请求设置cookies。但是,如果我们需要手动加载cookie呢,是否还会像上面一样自动处理,比如如下的代码

按照正常情况,我们在testA中加载的cookies应该会在后续的testB中也能够使用,但是,并没有。
这样如果我们要请求的页面必须使用cookies的话就需要在每次都带上 cookies = Cookie 了,这就很烦人,那么为什么这样不行呢,搜索一波,发现似乎是加载的方法的问题,这儿我们使用dict来加载cookies,加载的方法是针对单个请求的,这样似乎对后续的请求无效,所以需要对Session对象来"全局"设置一下。 阅读全文→