aiohttp是asycio的HTTP客户端/服务端。
特性支持HTTP客户端和HTTP服务端
开箱支持ServerWebSockets和ClietWebSockets
Web-server有中间件和可插拔路由
服务器端简单使用示例:
import asyciofrom aiohttp import web@asycio.coroutiedef hadle(request): ame = request.match_ifo.get('ame', "Aoymous") text = "Hello, " + ame retur web.Respose(body=text.ecode('utf-8'))@asycio.coroutiedef wshadler(request): ws = web.WebSocketRespose() ws.start(request) while True: msg = yield from ws.receive() if msg.tp == web.MsgType.text: ws.sed_str("Hello, {}".format(msg.data)) elif msg.tp == web.MsgType.biary: ws.sed_bytes(msg.data) elif msg.tp == web.MsgType.close: break retur ws@asycio.coroutiedef iit(loop): app = web.Applicatio(loop=loop) app.router.add_route('GET', '/echo', wshadler) app.router.add_route('GET', '/{ame}', hadle) srv = yield from loop.create_server(app.make_hadler(), '127.0.0.1', 8080) prit("Server started at https://127.0.0.1:8080") retur srvloop = asycio.get_evet_loop()loop.ru_util_complete(iit(loop))loop.ru_forever()






评论