Python: Requests详解

版本 v2.22.0.

Requests 是 Python 为人类构建的一个高雅而且简单的 HTTP 库。

看,这就是 Requests 的威力:

>>> r = requests.get('https://api.github.com/user', auth=('Ambitioner-c','password'))
>>> r.status_code
200
>>> r.headers['content-type']
'application/json; charset=utf-8'
>>> r.encoding
'utf-8'
>>> r.text
'{"login":"Ambitioner-c",...
>>> r.json()
{'login': 'Ambitioner-c',...

Requests 允许你极其容易的发送 HTTP/1.1 请求。这里不需要在你的 URLs 手动地添加请求字符串或者在你的 POST 数据里添加表单编码。持久链接和 HTTP 连接池完全 100% 的自动,这全都归功于 urllib3 。


目录

Beloved的特点

用户指南

介绍

哲学

Apache2 版本

Requests 版本

Requests 的安装

$ pipenv 安装 requests

获取源代码

快速入门

发出一个请求

在 URLs 中传递参数

响应内容

二进制的响应内容

JSON 响应内容

行响应内容

自定义头部

更多复杂的 POST 请求

POST 一个多编码的文件

响应状态码

响应头部

Cookies

重定向和历史记录

超时

错误和异常

进阶使用

会话对象

请求和响应对象

预请求

SSL 证书认证

客户端证书

CA 证书

体内容工作流

持久连接

流上传

代理

服从

HTTP Verbs

自定义 Verbs

链接头部

运输适配器

阻断和非阻断

标题排序

超时

验证

基本验证

摘要验证

OAuth 1 验证

OAuth 1 和OpenID 连接验证

其他验证

验证的新模式


Beloved的特点

Requests 是为今天的 web 准备的。

  • 持久链接和连接池
  • 国际域名和 URLs
  • 具有持续话的 Cookie
  • 浏览器风格的 SSL 认证
  • 自动的内容解码
  • 基本/摘要验证
  • 优雅的键/值 Cookies
  • 自动解压
  • 响应体的编码
  • HTTP(S) 代理支持
  • 多文件上传
  • 流下载
  • 连接超时
  • 块请求
  • .netrc 支持

Requests 正式支持 Python 2.7 和 3.4—3.7 ,并能很好的运行在 PyPy 上。

用户指南

这部分文档是十分单调的,从 Requests 的背景信息开始,到关注于每一步的说明,从而来更好的利用 Requests 。

  • 介绍

哲学

Requests 是在考虑刘一些 PEP 20 思想风格基础上开发的。

  1. 美胜于丑。
  2.  明确胜于模糊。
  3.  简单胜于复杂。
  4.  复杂胜于晦涩。
  5.  可读性很重要。

对 Requests 的所有贡献都应在思想上保持这些重要的规则。

Apache2 许可

你今天找到的大多数开源项目都来自 GPL 许可。虽然 GPL 有它的时间和地点,但它肯定不是下一个开源项目的 go-to 许可证。

一个作为 GPL 发布的项目是不能用做任何商业的产品,除非该产品本身也被开源出来。

MIT、BSD、ISC 和 Apache2 许可证是GPL的绝佳替代品,GPL 允许你的开源软件在专有的封闭源代码软件中自由使用。

Requests 是由 Apache2 许可团队发布的。

Requests 许可

Copyright 2019 Kenneth Reitz

根据 Apache 许可证授权,版本 2.0 (许可证);除非你服从该许可,否则无法使用该文件。你可以选择复制一个许可在https://www.apache.org/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则根据许可证分发的软件按“原样”BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND 分发,无任何明示或默示的保证或条件。请参阅许可证,以了解控制许可证下权限和限制的特定语言。

  • Requests 的安装

$ pipenv 安装 requests

获取源代码

  • 快速入门

发出一个请求

在 URLs 中传递参数

响应内容

二进制的响应内容

JSON 响应内容

行响应内容

自定义头部

更多复杂的 POST 请求

POST 一个多编码的文件

响应状态码

响应头部

Cookies

重定向和历史记录

超时

错误和异常

  • 进阶使用

会话对象

请求和响应对象

预请求

SSL 证书认证

客户端证书

CA 证书

体内容工作流

持久连接

流上传

代理

服从

HTTP Verbs

自定义 Verbs

链接头部

运输适配器

阻断和非阻断

标题排序

超时

  • 验证

基本验证

摘要验证

OAuth 1 验证

OAuth 1 和OpenID 连接验证

其他验证

验证的新模式

发布了25 篇原创文章 · 获赞 37 · 访问量 2943

猜你喜欢

转载自blog.csdn.net/qq_41297934/article/details/103328166
今日推荐