HTTPX 是最近 GitHub看的到一個比較火的一個項目,根據官網描述,總結有以下特色:python
文後的參考中給出了HTTPX基本使用舉例,在此不贅述。個人結論至少有二:
(1)簡化了傳統的同步HTTP操做
(2)簡化了異步HTTP操做(也是最大亮點吧)git
如今來看一個在FastAPI開發中測試API的基本例子:github
代碼以下:api
代碼以下:異步
【注意】若是咱們想在測試中調用異步函數,咱們的測試函數也必須是異步的!Pytest爲此提供了一個整潔的庫,稱爲Pytest-asyncio,它容許咱們指定異步調用某些測試函數。安裝命令以下:async
安裝了Pytest-asyncio後,pytest會自動判斷並調用它。若是不安裝這個pytest-asyncio庫,那麼上面代碼中從httpx導入AsyncClient時將出現語法錯誤,提供沒有這個類支持!!!ide
httpx是一個正在成長中的年輕Python3庫,可是從github用戶關注度及Python應用需求現狀來看,這個庫很是有前景!不管在服務端開發方面,仍是在爬蟲開發方面。函數
https://github.com/encode/httpx
https://www.python-httpx.org/advanced/
https://fastapi.tiangolo.com/advanced/async-tests/測試