Requests: 让 HTTP 服务人类

Requests 惟一的一个非转基因的 Python HTTP 库,人类能够安全享用。html

警告:非专业使用其余 HTTP 库会致使危险的反作用,包括:安全缺陷症、冗余代码症、从新发明轮子症、啃文档症、抑郁、头疼、甚至死亡。python

看吧,这就是 Requests 的威力:linux

>>> r = requests.get('https://api.github.com/user', auth=('user', 'pass')) >>> r.status_code 200 >>> r.headers['content-type'] 'application/json; charset=utf8' >>> r.encoding 'utf-8' >>> r.text u'{"type":"User"...' >>> r.json() {u'private_gists': 419, u'total_private_repos': 77, ...} 

参见 未使用 Requests 的类似代码.git

Requests 容许你发送纯自然,植物饲养的 HTTP/1.1 请求,无需手工劳动。你不须要手动为 URL 添加查询字串,也不须要对 POST 数据进行表单编码。Keep-alive 和 HTTP 链接池的功能是 100% 自动化的,一切动力都来自于根植在 Requests 内部的 urllib3github

用户见证

Twitter、Spotify、Microsoft、Amazon、Lyft、BuzzFeed、Reddit、NSA、女王殿下的政府、Amazon、Google、Twilio、Mozilla、Heroku、PayPal、NPR、Obama for America、Transifex、Native Instruments、Washington Post、Twitter、SoundCloud、Kippt、Readability、以及若干不肯公开身份的联邦政府机构都在内部使用。web

Armin Ronacher
Requests 是一个完美的例子,它证实了经过恰到好处的抽象,API 能够写得多么优美。
Matt DeBoard
我要想个办法,把 @kennethreitz 写的 Python requests 模块作成纹身。一字不漏。
Daniel Greenfeld
感谢 @kennethreitz 的 Requests 库,刚刚用 10 行代码炸掉了 1200 行意大利面代码。今天真是爽呆了!
Kenny Meyers
Python HTTP: 疑惑与否,都去用 Requests 吧。简单优美,并且符合 Python 风格。

功能特性

Requests 彻底知足今日 web 的需求。apache

  • Keep-Alive & 链接池
  • 国际化域名和 URL
  • 带持久 Cookie 的会话
  • 浏览器式的 SSL 认证
  • 自动内容解码
  • 基本/摘要式的身份认证
  • 优雅的 key/value Cookie
  • 自动解压
  • Unicode 响应体
  • HTTP(S) 代理支持
  • 文件分块上传
  • 流下载
  • 链接超时
  • 分块请求
  • 支持 .netrc

Requests 支持 Python 2.6—2.7以及3.3—3.7,并且能在 PyPy 下完美运行。json

社区指南

这部分文档也是文字为主,详细介绍了 Requests 的生态和社区。浏览器

API 文档/指南

若是你要了解具体的函数、类、方法,这部分文档就是为你准备的。

贡献指南

若是你要为项目作出贡献,请参考这部分文档。

没有别的指南了,你如今要靠本身了。

相关文章
相关标签/搜索