You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中基于requests-cache库缓存POST请求

如何用requests-cache缓存POST请求

requests-cache 1.3.2默认仅缓存GET和HEAD请求,POST请求不会自动缓存,你可以通过以下方式开启POST请求的缓存:

方法1:初始化会话时指定允许缓存的请求方法

在创建CachedSession实例时,通过allowable_methods参数包含POST,即可让会话缓存POST请求:

from requests_cache import CachedSession

# 配置会话允许缓存GET和POST请求
session = CachedSession('.cache', allowable_methods=['GET', 'POST'])
# 发送POST请求,该请求会被缓存
session.post('https://httpbin.org/post')

关键说明

  • POST请求的缓存键由URL + 请求体内容共同生成,只有当URL和请求体完全相同时,才会命中缓存。
  • 注意:POST请求通常用于提交数据、修改资源,缓存这类请求可能不符合HTTP语义,仅在确认请求是幂等(重复执行不会产生副作用)的场景下使用。

执行上述代码后,再用你之前的验证命令:

sqlite3 .cache.sqlite 'select * from responses;' | wc --lines

就能看到缓存中新增了POST请求的响应记录。

内容的提问来源于stack exchange,提问作者Jeyekomon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 02:22:39