版本 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的特點
Requests 是爲今天的 web 準備的。
- 持久鏈接和連接池
- 國際域名和 URLs
- 具有持續話的 Cookie
- 瀏覽器風格的 SSL 認證
- 自動的內容解碼
- 基本/摘要驗證
- 優雅的鍵/值 Cookies
- 自動解壓
- 響應體的編碼
- HTTP(S) 代理支持
- 多文件上傳
- 流下載
- 連接超時
- 塊請求
- .netrc 支持
Requests 正式支持 Python 2.7 和 3.4—3.7 ,並能很好的運行在 PyPy 上。
用戶指南
這部分文檔是十分單調的,從 Requests 的背景信息開始,到關注於每一步的說明,從而來更好的利用 Requests 。
-
介紹
哲學
Requests 是在考慮劉一些 PEP 20 思想風格基礎上開發的。
- 美勝於醜。
- 明確勝於模糊。
- 簡單勝於複雜。
- 複雜勝於晦澀。
- 可讀性很重要。
對 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
鏈接頭部
運輸適配器
阻斷和非阻斷
標題排序
超時
-
驗證