httpx 介紹

2022-07-26 09:39 更新

HTTPX是Python 3的全功能HTTP客戶端,它提供同步和異步API,并支持HTTP / 1.1和HTTP / 2。

 為了方便對方法的理解,本篇教程全文代碼基本都是采用python shell 環(huán)境進行調(diào)試!

使用 pip 安裝 HTTPX:

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)功能...

  • 國際域名和網(wǎng)址
  • Keep-Alive & Connection Pooling
  • 具有 Cookie 持久性的會話
  • 瀏覽器式 SSL 驗證
  • 基本/摘要式身份驗證
  • 優(yōu)雅的鍵/值Cookie
  • 自動解壓
  • 自動內(nèi)容解碼
  • Unicode 響應(yīng)的 Body
  • 分段文件上傳
  • 代理支持
  • 連接超時
  • 流式傳輸下載
  • ?.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]


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號