Python Requests的简单HTTP缓存
项目描述
HTTP,像所有设计良好的标准一样,有多种令人困惑的缓存机制。httpcache是一个知道如何使用HTTP头和状态码来正确缓存您的HTTP流量的HTTP缓存。它是为与出色的Requests库一起使用而构建的,因为如果您不使用Requests,您可能也准备好自己编写缓存库。
它非常容易使用。如果您只想在Requests中使用缓存,您只需要将传输适配器插入到您的Requests会话中
>>> import requests
>>> from httpcache import CachingHTTPAdapter
>>> s = requests.Session()
>>> s.mount('http://', CachingHTTPAdapter())
出发吧!
如果您想有更多的控制,您可以使用缓存数据存储本身。像这样存储您的缓存条目
from httpcache import HTTPCache
cache = 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支持Requests所支持的所有Python版本。这意味着2.6,2.7和3.3。httpcache可能在其他Python版本上工作,但我们没有在这些版本上进行测试,也不会支持它们。
贡献
贡献总是受欢迎!在贡献时,请遵守以下规则
检查是否已有其他人提交了覆盖您bug的问题。如果您打开了一个重复的问题,维护者会严厉地看待您。
克隆Github仓库并开始编写测试。如果您正在修复bug,我建议先编写一个失败的测试,然后工作直到它通过。如果您正在添加功能,您可以在编写功能后自由添加测试,但请彻底测试功能。
发送Pull Request。如果我没有在几天内回复,请通过Twitter或电子邮件向我大喊,直到我处理它。
历史记录
0.1.3 (2013-05-19)
支持Python 2.6
支持Python 3.3
0.1.2 (2013-05-18)
修复损坏的setup.py。
0.1.1 (2013-05-18)
缓存更广泛的响应码集。
遵循RFC 2616关于使用查询字符串缓存资源的建议。
不要缓存非幂等方法。
非幂等方法使它们的缓存资源无效。
文档!
实际上实现容量参数。
0.1.0 (2013-05-11)
提供Requests传输适配器,以便缓存“只需工作”。
0.0.2 (2013-05-07)
正确使用“Expires”头缓存。
正确处理由“Cache-Control”头公开的一些功能。
0.0.1 (2013-05-05)
构思
如果修改自和304处理。
项目详情
httpcache-0.1.3.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 32c2b811129e4f54d6ec4beb2b260e047f1ec7bf9dfb6494cbc2cbc43bb174a5 |
|
MD5 | 80db07a6914dbdcdad69561a19c33bb2 |
|
BLAKE2b-256 | e2f02223cedd18e2bc7e73453d32e84079507a795e51ea80c3fc9da78a1563c8 |