| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
9年前发布

asyncio 的 HTTP 客户端/服务端:aiohttp

aiohttp 是 asyncio 的 HTTP 客户端/服务端 (PEP 3156)。

特性

  • 支持 HTTP 客户端 和 HTTP 服务端

  • 开箱支持 Server WebSockets 和 Client WebSockets

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

服务器端简单使用示例:

import asyncio  from aiohttp import web  @asyncio.coroutine  def handle(request):      name = request.match_info.get('name', "Anonymous")      text = "Hello, " + name      return web.Response(body=text.encode('utf-8'))  @asyncio.coroutine  def 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.coroutine  def 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 http://127.0.0.1:8080")      return srv  loop = asyncio.get_event_loop()  loop.run_until_complete(init(loop))  loop.run_forever()

项目主页:http://www.open-open.com/lib/view/home/1435309484200

 本文由用户 jopen 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1435309484200.html
aiohttp 网络工具包