Aiohttp是Python的最快的非同步HTTP客戶端/伺服器庫包
Aiohttp用於asyncio和 Python 的非同步 HTTP 客戶端/伺服器。
主要特點
- 支援客戶端和HTTP 伺服器。
- 支援開箱即用的伺服器 WebSockets和 客戶端 WebSockets,沒有回撥地獄。
- Web 伺服器具有中介軟體、 訊號和可插入路由。
客戶端程式碼:
import aiohttp import asyncio async def main(): async with aiohttp.ClientSession() as session: async with session.get('http://python.org') as response: print("Status:", response.status) print("Content-type:", response.headers['content-type']) html = await response.text() print("Body:", html[:15], "...") loop = asyncio.get_event_loop() loop.run_until_complete(main()) |
伺服器示例:
from aiohttp import web async def handle(request): name = request.match_info.get('name', "Anonymous") text = "Hello, " + name return web.Response(text=text) app = web.Application() app.add_routes([web.get('/', handle), web.get('/{name}', handle)]) if __name__ == '__main__': web.run_app(app) |
有人將其與其他Python非同步庫比較,發現其是最快的:
- 第一代是可靠的老requests
- 第二代是使用執行緒發出請求的方法。為每個請求分拆一個本機執行緒,讓它們在幕後執行。
- 第三代使用aiohttp
- 第四代使用HTTPX,它是 Python Web 客戶端的現代實現。
- 使用pycurl
結果令人印象深刻,但 aiohttp 庫仍然更快。
相關文章
- Gofer是Node.js 的HTTP客戶端GoNode.jsHTTP客戶端
- 【windows socket+HTTP伺服器客戶端】WindowsHTTP伺服器客戶端
- Java HTTP/2 客戶端:從阻塞到非同步 - sanjeevrJavaHTTP客戶端非同步VR
- Python socket的客戶端Python客戶端
- Java HTTP 客戶端的比較 - reflectoringJavaHTTP客戶端
- HTTP客戶端連線,選擇HttpClient還是OkHttp?HTTP客戶端client
- rsync 客戶端同步的時候報錯客戶端
- Swoole 協程 MySQL 客戶端與非同步回撥 MySQL 客戶端的對比MySql客戶端非同步
- 客戶端Ping伺服器工具[Python]客戶端伺服器Python
- 實現客戶端與服務端的HTTP通訊客戶端服務端HTTP
- oracle 客戶端與伺服器端的關係Oracle客戶端伺服器
- js 客戶端與伺服器端的通訊JS客戶端伺服器
- VNC客戶端是Windows,VNC客戶端是Windows如何進行操作VNC客戶端Windows
- 初探Thrift客戶端非同步模式客戶端非同步模式
- Python非同步爬蟲(aiohttp版)Python非同步爬蟲AIHTTP
- RetrofitJs – TypeScript實現的宣告式HTTP客戶端JSTypeScriptHTTP客戶端
- reqwest:簡單而強大的 Rust HTTP 客戶端RustHTTP客戶端
- netty系列之:自建客戶端和HTTP伺服器互動Netty客戶端HTTP伺服器
- netty系列之:搭建客戶端使用http1.1的方式連線http2伺服器Netty客戶端HTTP伺服器
- 客戶端到伺服器端的通訊過程客戶端伺服器
- 客戶端無法同步時間伺服器問題處理客戶端伺服器
- Redis 是如何處理命令的(客戶端)Redis客戶端
- python socketserver處理客戶端的流程PythonServer客戶端
- 譯文——OkHttp, 安卓和Java應用的HTTP&HTTP2.0客戶端HTTP安卓Java客戶端
- 客戶端連線資料庫的方法客戶端資料庫
- 教你如何構建非同步伺服器和客戶端的 Kotlin 框架 Ktor非同步伺服器客戶端Kotlin框架
- 什麼是客戶端渲染?客戶端
- Redis 6.0 客戶端快取的伺服器端實現Redis客戶端快取伺服器
- 谷歌正式推出Python版Google API客戶端庫谷歌PythonGoAPI客戶端
- Python模組學習:httplib HTTP協議客戶端實現PythonHTTP協議客戶端
- 使用Netty實現HTTP2伺服器/客戶端的原始碼和教程 - BaeldungNettyHTTP伺服器客戶端原始碼
- 藍芽客戶端和伺服器的實現藍芽客戶端伺服器
- Asp .Net Core 系列:整合 Refit 和 RestEase 宣告式 HTTP 客戶端庫RESTHTTP客戶端
- 記筆記:C# Socket客戶端監聽伺服器端處理方案【同步】筆記C#客戶端伺服器
- 【知識積累】伺服器端獲取客戶端的IP地址(當客戶端呼叫由Axis開發的WebService)伺服器客戶端Web
- 精講RestTemplate第2篇-多種底層HTTP客戶端類庫的切換RESTHTTP客戶端
- 客戶端到伺服器端的通訊過程及原理客戶端伺服器
- ubuntu 下面 svn 伺服器端和客戶端的配置和使用Ubuntu伺服器客戶端