python请求的简单http缓存
httpcache的Python项目详细描述
与所有精心设计的标准一样,http有多种令人困惑的机制 缓存。http cache是一个http缓存,它知道如何使用http头和 正确缓存http流量的状态代码。它是为 优秀的Requests库, 因为如果你不使用请求,你可能已经准备好了 缓存库也是。
它非常容易使用。如果你只想缓存请求 需要做的是将传输适配器插入请求会话:
>>> importrequests>>> fromhttpcacheimportCachingHTTPAdapter>>> s=requests.Session()>>> s.mount('http://',CachingHTTPAdapter())
走开!
如果需要更多的控制,可以使用缓存数据存储本身。储存您的 缓存如下项:
fromhttpcacheimportHTTPCachecache=HTTPCache(capacity=50)cache.store(response)
然后像这样检索:
cached_response=cache.retrieve(request)
很简单。
功能
- 与Requests紧密集成 数据结构。
- 了解Expires和Cache-Control头。
- 知道如何解释304 Not Modified响应。
- 可以发送If-Modified-Since头。
- 注意http动词,例如POST。
- 符合RFC 2616。
安装
要安装httpcache,您需要运行:
$ pip install httpcache
如果你做不到,你必须拥有httpcache,而你不能 安装pip,然后您可以尝试:
$ easy_install httpcache
我强烈建议你不要那样做。
版本
httpcache支持请求所支持的所有python版本。这意味着 2.6、2.7和3.3。httpcache有可能在其他版本的 但我们不测试这些版本,也不支持它们。
贡献
我们欢迎您的贡献!请遵守以下规则 贡献:
- 检查是否没有人打开已经覆盖您的错误的问题。如果你打开 一个重复的问题,维修人员会给你一个严厉的看。
- 分叉Github repository并开始编写测试。如果你正在修理 一个bug,我建议先编写一个失败的测试,并一直工作到通过为止。 如果要添加功能,可以在编写 功能,但请彻底测试功能。
- 发送拉取请求。如果我在几天内没有回复,请 在twitter或电子邮件上对我大喊大叫,直到我采取行动。
历史记录
0.1.3(2013-05-19)
- 支持Python2.6
- 支持Python3.3
0.1.2(2013-05-18)
- 修复损坏的setup.py。
0.1.1(2013-05-18)
- 缓存更广泛的响应代码集。
- 遵循rfc 2616关于使用查询字符串缓存资源的建议。
- 不要缓存非等幂方法。
- 非等幂方法使其缓存资源失效。
- 文件!
- 实际实现容量参数。
0.1.0(2013-05-11)
- 提供请求传输适配器,以便缓存“正常工作”。
0.0.2(2013-05-07)
- 使用“expires”头正确缓存。
- 正确处理“缓存控制”头所公开的某些功能。
0.0.1(2013-05-05)
- 概念
- 如果修改自和304处理。