跳转到主要内容

人类友好的HTTP

项目描述

Rkrizzle是一个Apache2许可证的HTTP库,用Python编写,为人们设计。它是requests库的一个分支,有两个主要区别:

  • 无 vendored 库

  • 尊重并使用操作系统CA包

Rkrizzle旨在从操作系统发行版的角度,以及对于直接从PyPI工作的Python开发者来说都很容易使用,并完成人们对关键系统库的期望 - 例如与其他系统组件友好地协同工作。

如果您想知道为什么我们分支而没有只是修补requests本身,请参阅 Kenneth对这个问题的看法 。我们的分歧是无法调和的。

Rkrizzle有意保持与requests的API兼容性。requests的作者选择捆绑库和CA包是完全公平的选择。这对我们来说行不通,所以我们这样做。希望我们都能和睦相处。

使用

大多数现有的用于发送HTTP请求的Python模块都极其冗长且繁琐。Python的内置urllib2模块提供了您应该需要的几乎所有HTTP功能,但API已经彻底损坏。执行最简单的任务需要巨大的工作量(甚至方法覆盖)。

事情不应该这样。在Python中不应该这样。

>>> r = rkrizzle.get('https://api.github.com', auth=('user', 'pass'))
>>> r.status_code
204
>>> r.headers['content-type']
'application/json'
>>> r.text
...

请参阅 同一代码,但不使用Rkrizzle

Rkrizzle允许您发送HTTP/1.1请求。您可以添加标题、表单数据、多部分文件和参数,使用简单的Python字典,并以相同的方式访问响应数据。它由httplib和 urllib3 驱动,但它为您做了所有艰难的工作和疯狂的破解。

特性

  • 国际域名和URL

  • Keep-Alive和连接池

  • Rkrizzle与Cookie持久性

  • 浏览器式SSL验证

  • 基本摘要身份验证

  • 优雅的键/值Cookie

  • 自动解压

  • Unicode响应体

  • 多部分文件上传

  • 连接超时

  • 线程安全

  • HTTP(S)代理支持

安装

要安装Rkrizzle,只需

$ pip install rkrizzle

文档

文档可在http://rkrizzle.readthedocs.org/找到。

项目详情


AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页