马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
为什么小甲鱼要重新翻译该文档?
呃……你们如果看过非转基因的、纯天然植物饲养的官方中文文档应该就知道为什么了:
不是我闲得蛋疼,是我觉得这样的官方文档,你们也看不下去……
再说了,我们还有大家所喜闻乐见的鱼式冷幽默,哇咔咔
好了,以下是正文:
Requests 是唯一一个比 Python 亲儿子还好用的 HTTP 库,无毒无副作用,聪明的程序员必备家居良品!
注意:
我们更提倡你使用 Python3 而不是 Python2。如果你此时还在用 Python2,那么你可能需要考虑升级你的应用程序了,因为 Python2 已经 OUT 了;如果你使用的是 Python3,恭喜,你是一枚与时俱进的程序员!
—— Kenneth Reitz
下面,先让你们见识一下 Requests 的强大:
>>> import requests
>>> 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, ...}
实现类似功能,Python 的亲儿子要麻烦许多(注意,上面 requests 是一句代码而已):
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import urllib2
gh_url = 'https://api.github.com'
req = urllib2.Request(gh_url)
password_manager = urllib2.HTTPPasswordMgrWithDefaultRealm()
password_manager.add_password(None, gh_url, 'user', 'pass')
auth_manager = urllib2.HTTPBasicAuthHandler(password_manager)
opener = urllib2.build_opener(auth_manager)
urllib2.install_opener(opener)
handler = urllib2.urlopen(req)
print handler.getcode()
print handler.headers.getheader('content-type')
# ------
# 200
# 'application/json'
Requests 允许你发送纯粹的 HTTP/1.1 请求,无需额外的操作。也就是说不需要在 ULR 中添加额外的查询语句,或者对 POST 提交的数据进行编码。另外,Keep-alive 和 HTTP 连接池都是 100% 自动进行的。Requests 能这么牛逼,都是多亏了 urllib3 的助攻!
功能特性
Requests 完全满足当今 web 的需求:
- Keep-Alive & 连接池
- 国际化域名和 URLs
- 带 Cookie 的持久会话
- 浏览器式的 SSL 认证
- 内容自动解码
- 基本/摘要式身份认证
- 优雅的键/值 Cookie
- 自动解压
- Unicode 响应体
- 支持 HTTP(S) 代理
- 文件分块上传
- 流下载
- 连接超时
- 分块请求
- 支持 .netrc
Requests 正式支持 Python 2.6-2.7 和 Python 3.4-3.7,并且在 PyPy 上可以很好的运行哦~
下面这些牛逼的团队正在使用我们的产品:
Twitter、Spotify、Microsoft、Amazon、Lyft、BuzzFeed、Reddit、NSA、英国皇室、Amazon、Google、Twilio、Mozilla、Heroku、PayPal、NPR、奥巴马政府、Transifex、Native Instruments、Washington Post、Twitter、SoundCloud、Kippt、Readability、以及若干不愿意公开身份的联邦政府机构都在内部偷偷地使用我们的产品。
Armin Ronacher ——
Requests 诠释了什么才是完美的 API。
Matt DeBoard ——
我要想办法把 Kenneth Reitz 的 requests 一字不漏的做成纹身。
Daniel Greenfeld ——
感谢 Kenneth Reitz 的 Requests 库,刚刚用 10 行代码就完爆了原来 1200 行意大利面代码,今天真是爽呆了!
Kenny Meyers ——
Python HTTP:疑惑与否,都去用 Requests 吧。简单、优美,并符合 Python 风格。
Requests 是 Python 所有库中最受欢迎的一个,不是我吹,每个月有 13,000,000 下载量,全世界优秀的人都在使用它,你还等什么?!
哦,对了,你可能早就听人们这么描述程序员 ——“话少钱多死得早,毫无情趣女友跑”……
但伟大的 Kenneth Reitz(Requests 的作者)却扛起厚厚的一块板砖,用实际行动生疼的砸了所有人的脸。
告诉世界:程序员才是最牛逼的潜力股!
(TIPS:点击页面上方的目录可以跳转到其他章节哦^_^)
|