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 連接驗證

其他驗證

驗證的新模式

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章