requests库保持连接cookie
requests库的使用方式
- requests库发起网络请求的方式:
1 | import requests |
问题简述
- 在使用requests库发起网络请求时如果请求头中要求携带请求的cookie,那么一般的写法如下:
1 | header = {'cookie':cookie} |
如上方式将cookie加进请求头中,但是当请求的资源返回302,也就是发生重定向时跳转的页面时无法获取我们添加的cookie的,从而导致跳转后的请求过期,如果是登陆系统那么则会自动登出账号,虽然我们发起登陆请求时确实通过了服务器验证,但是由于跳转之后没有cookie那么服务端会认为此次请求已经过期。
解决方案
- 想让重定向请求携带上一次请求的cookie则应如下修改代码
1 | import requests |
如上代码将cookie单独构建并添加进方法内,这样重定向后的请求会获取我们登陆时的cookie
保证重定向后的请求不会失效。