วิธีรับบางอย่างจากเว็บ:
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 ], "..." )
asyncio . run ( main ())
พิมพ์นี้:
สถานะ: 200 ประเภทเนื้อหา: ข้อความ/html; ชุดอักขระ=utf-8 เนื้อความ: <!doctype html> ...
มาจากคำขอ ? อ่านว่าทำไมเราต้องมีบรรทัดมากมาย
ตัวอย่างการใช้เซิร์ฟเวอร์อย่างง่าย:
# examples/server_simple.py
from aiohttp import web
async def handle ( request ):
name = request . match_info . get ( 'name' , "Anonymous" )
text = "Hello, " + name
return web . Response ( text = text )
async def wshandle ( request ):
ws = web . WebSocketResponse ()
await ws . prepare ( request )
async for msg in ws :
if msg . type == web . WSMsgType . text :
await ws . send_str ( "Hello, {}" . format ( msg . data ))
elif msg . type == web . WSMsgType . binary :
await ws . send_bytes ( msg . data )
elif msg . type == web . WSMsgType . close :
break
return ws
app = web . Application ()
app . add_routes ([ web . get ( '/' , handle ),
web . get ( '/echo' , wshandle ),
web . get ( '/{name}' , handle )])
if __name__ == '__main__' :
web . run_app ( app )
https://aiohttp.readthedocs.io/
https://github.com/aio-libs/aiohttp-demos
อย่าลังเลที่จะส่งคำขอเพื่อเพิ่มลิงค์ของคุณไปยังหน้าเหล่านี้!
การสนทนา aio-libs : https://github.com/aio-libs/aiohttp/discussions
เมทริกซ์ : #aio-libs:matrix.org
เรารองรับ Stack Overflow โปรดเพิ่มแท็ก aiohttp ในคำถามของคุณที่นั่น
คุณสามารถเลือกติดตั้งไลบรารี aiodns ได้ (แนะนำเป็นอย่างยิ่งเพื่อความรวดเร็ว)
aiohttp
นำเสนอภายใต้ลิขสิทธิ์ Apache 2
ชุมชน aiohttp ขอขอบคุณ Keepsafe (https://www.getkeepsafe.com) สำหรับการสนับสนุนในช่วงแรกๆ ของโครงการ
เวอร์ชันสำหรับนักพัฒนาซอฟต์แวร์ล่าสุดมีอยู่ในที่เก็บ GitHub: https://github.com/aio-libs/aiohttp
หากคุณสนใจในเรื่องประสิทธิภาพ ชุมชน AsyncIO จะเก็บรายการเกณฑ์มาตรฐานไว้ในวิกิอย่างเป็นทางการ: https://github.com/python/asyncio/wiki/Benchmarks