HTTPX是Python 3的全功能HTTP客戶端,它提供同步和異步API,并支持HTTP / 1.1和HTTP / 2。
為了方便對方法的理解,本篇教程全文代碼基本都是采用python shell 環(huán)境進行調(diào)試!
pip install httpx
現(xiàn)在,讓我們開始吧:
>>> import httpx
>>> r = httpx.get('https://www.example.org/')
>>> r
<Response [200 OK]>
>>> r.status_code
200
>>> r.headers['content-type']
'text/html; charset=UTF-8'
>>> r.text
'<!doctype html>\n<html>\n<head>\n<title>Example Domain</title>...'
或者,使用命令行客戶端。
# 命令行客戶端是可選的依賴項。以下為MacOS下運行的命令
$ pip install 'httpx[cli]'
#以下是Windows下運行的命令
pip install httpx[cli]
現(xiàn)在允許我們直接從命令行使用HTTPX...
1
正在發(fā)送請求...
特點
HTTPX 建立在?requests
?的成熟可用性之上,并為您提供:
加上?requests
?所有標(biāo)準(zhǔn)功能...
.NETrc
? 支持有關(guān)所有基礎(chǔ)知識的概述,請轉(zhuǎn)到快速入門。
有關(guān)更高級的主題,請參閱高級用法部分、異步支持部分或 HTTP/2 部分。
開發(fā)人員界面提供了全面的 API 參考。
若要了解與 HTTPX 集成的工具,請參閱第三方程序包。
HTTPX項目依賴于這些優(yōu)秀的庫:
httpcore
?- httpx的基礎(chǔ)傳輸實現(xiàn)。h11
?- HTTP / 1.1支持。certifi
?- SSL證書。rfc3986
?- URL解析和規(guī)范化。idna
?- 國際化域名支持。sniffio
?- 異步庫自動檢測。除了這些可選安裝之外:
h2
?- HTTP / 2支持。(可選,使用 ?httpx[http2]
?)socksio
?- socks代理支持。(可選,帶 ?httpx[socks]
?)rich
?- 豐富的終端支持。(可選,使用? httpx[cli]
?)click
?- 命令行客戶端支持。(可選,使用 ?httpx[cli]
?)brotli
?或 ?brotlicffi
?- 解碼“?brotli?”壓縮響應(yīng)。(可選,使用 ?httpx[brotli]
?)這項工作的大部分遵循?requests
?的API布局,以及?urllib3
?圍繞較低層次的網(wǎng)絡(luò)細節(jié)提供的大量設(shè)計靈感,都是一筆巨大的功勞。
用pip安裝:
$ pip install httpx
或者,要包含可選的 HTTP/2 支持,請使用:
$ pip install httpx[http2]
要包括可選的 brotli 解碼器支持,請使用:
$ pip install httpx[brotli]
更多建議: