跳转到主要内容

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数据结构的紧密集成。

  • 理解ExpiresCache-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版本上工作,但我们没有在这些版本上进行测试,也不会支持它们。

贡献

贡献总是受欢迎!在贡献时,请遵守以下规则

  1. 检查是否已有其他人提交了覆盖您bug的问题。如果您打开了一个重复的问题,维护者会严厉地看待您。

  2. 克隆Github仓库并开始编写测试。如果您正在修复bug,我建议先编写一个失败的测试,然后工作直到它通过。如果您正在添加功能,您可以在编写功能后自由添加测试,但请彻底测试功能。

  3. 发送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 (12.8 kB 查看哈希)

上传时间

支持者