aiohttp asyncio 的 HTTP 客户端/服务端开源项目

我要开发同款
匿名用户2015年06月18日
48阅读
开发技术Python
所属分类程序开发、网络工具包
授权协议Apache

作品详情

aiohttp是asyncio的HTTP客户端/服务端。

特性

支持HTTP客户端和HTTP服务端

开箱支持ServerWebSockets和ClientWebSockets

Web-server有中间件和可插拔路由

服务器端简单使用示例:

import asynciofrom aiohttp import web@asyncio.coroutinedef handle(request):    name = request.match_info.get('name', "Anonymous")    text = "Hello, " + name    return web.Response(body=text.encode('utf-8'))@asyncio.coroutinedef wshandler(request):    ws = web.WebSocketResponse()    ws.start(request)    while True:        msg = yield from ws.receive()        if msg.tp == web.MsgType.text:            ws.send_str("Hello, {}".format(msg.data))        elif msg.tp == web.MsgType.binary:            ws.send_bytes(msg.data)        elif msg.tp == web.MsgType.close:            break    return ws@asyncio.coroutinedef init(loop):    app = web.Application(loop=loop)    app.router.add_route('GET', '/echo', wshandler)    app.router.add_route('GET', '/{name}', handle)    srv = yield from loop.create_server(app.make_handler(),                                        '127.0.0.1', 8080)    print("Server started at https://127.0.0.1:8080")    return srvloop = asyncio.get_event_loop()loop.run_until_complete(init(loop))loop.run_forever()
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论