python请求requests通过session自动管理cookie维持会话状态实践
作者:RiverSoul
时间:2026-06-01
浏览:0
在实际开发中,不少网站依赖 Cookie 来维持会话状态——登录态、认证信息,都得靠它。比如用抖音搜索接口或获取直播间数据时,如果每次都手动去处理 Cookie,既麻烦又容易出错。好在 requests.session() 能帮我们自动管理 Cookie,省心不少。 1. 直接通过 session
在实际开发中,不少网站依赖 Cookie 来维持会话状态——登录态、认证信息,都得靠它。比如用抖音搜索接口或获取直播间数据时,如果每次都手动去处理 Cookie,既麻烦又容易出错。好在 requests.session() 能帮我们自动管理 Cookie,省心不少。

1. 直接通过 session 对象管理
用 session 对象,一切自动打理:首次请求后,服务端返回的 Set-Cookie 会被自动存入会话,后续请求直接带上,完全不用手动干预。
import requests
session = requests.session()
print("会话初始cookie:",dict(session.cookies))
get_url = "https://postman-echo.com/get"
res = session.get(url=get_url)
print("响应头中set-cookie:",res.headers.get("set-cookie"))
print("会话现有cookie:",dict(session.cookies))
输出效果一目了然:
会话初始cookie: {}
响应头中set-cookie: sails.sid=s%3ALo1-iQfueg8z1DhR_SX3KxwWA85cYN65.asZ1elFlT9g54uj%2FHkHpaZFkk0rBaCFDtRrA9anWzY4; Path=/; HttpOnly
会话现有cookie: {'sails.sid': 's%3ALo1-iQfueg8z1DhR_SX3KxwWA85cYN65.asZ1elFlT9g54uj%2FHkHpaZFkk0rBaCFDtRrA9anWzY4'}
2. 通过 key 设置
如果想快速设个简单 Cookie,直接通过 key 赋值就行,像字典一样方便。不过要留神:这种方式无法指定 path、domain 等属性,适用于不需要精细控制的情景。
import requests
session = requests.session()
print("会话初始cookie:",dict(session.cookies))
# 直接通过key设置cookie,但不支持设置cookie的 path、domain 等值
session.cookies["cka"]="111a"
session.cookies["ckb"]="111b"
get_url = "https://postman-echo.com/get"
res = session.get(url=get_url)
print("本次请求使用的cookie:",res.request.headers.get("Cookie"))
print("会话现有cookie:",dict(session.cookies))
3. 通过 set 方法设置
当需要指定 path、domain 甚至 expires 时,set() 方法就派上用场了。参数更完整,适合对 Cookie 作用域有要求的场景。
import requests
session = requests.session()
print("会话初始cookie:",dict(session.cookies))
# 通过set方法设置cookie,且支持设置path、domain等值
session.cookies.set("ck2","222",path="/",domain="postman-echo.com")
get_url = "https://postman-echo.com/get"
res = session.get(url=get_url)
print("本次请求使用的cookie:",res.request.headers.get("Cookie"))
print("会话现有cookie:",session.cookies)
总结
三种方式覆盖了日常开发中最常见的 Cookie 管理需求。直接 session 自动化采集、key 方式快速赋值、set() 精细控制,根据实际场景灵活选用,就能让爬虫或接口调用的会话管理更加游刃有余。
作者最新文章
微软推出Project Zenith:面向Windows 11开发者的AI硬件加速方案
2026-09-08 18:15
打破流量垄断,让平台经济释放普惠红利
2026-09-08 18:07
Arm AGI CPU详解:136核Neoverse V3,3nm双芯粒架构与AI数据中心部署
2026-09-08 17:18
Windows安装Docker教程:启用WSL2并运行第一个容器验证
2026-09-04 09:26
PDF转Word操作指南:在线与本地转换方法及格式检查
2026-09-03 16:03
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多


































