异步http://client/server框架(asyncio)

aiohttp的Python项目详细描述


异步http客户端/服务器框架

AIOHTP徽标主分支的Travis状态主分支的appveyor状态codecov.io master branch的状态最新的pypi包版本最新阅读文档在gitter上聊天

主要功能

  • 支持HTTP协议的客户端和服务器端。
  • 支持现成的客户端和服务器Web套接字,并避免 回拨地狱。
  • 为Web服务器提供中间件和可插拔路由。

入门

客户机

从网上获取信息:

importaiohttpimportasyncioasyncdeffetch(session,url):asyncwithsession.get(url)asresponse:returnawaitresponse.text()asyncdefmain():asyncwithaiohttp.ClientSession()assession:html=awaitfetch(session,'http://python.org')print(html)if__name__=='__main__':loop=asyncio.get_event_loop()loop.run_until_complete(main())

服务器

使用简单服务器的示例:

# examples/server_simple.pyfromaiohttpimportwebasyncdefhandle(request):name=request.match_info.get('name',"Anonymous")text="Hello, "+namereturnweb.Response(text=text)asyncdefwshandle(request):ws=web.WebSocketResponse()awaitws.prepare(request)asyncformsginws:ifmsg.type==web.WSMsgType.text:awaitws.send_str("Hello, {}".format(msg.data))elifmsg.type==web.WSMsgType.binary:awaitws.send_bytes(msg.data)elifmsg.type==web.WSMsgType.close:breakreturnwsapp=web.Application()app.add_routes([web.get('/',handle),web.get('/echo',wshandle),web.get('/{name}',handle)])web.run_app(app)

通信信道

aio libs 谷歌集团: https://groups.google.com/forum/!论坛/aio libs

请在这里自由发表您的问题和想法。

Gitter聊天s://gitter.im/aio-libs/lobby" rel="nofollow">https://gitter.im/aio-libs/lobby

我们支持堆栈溢出。 请在您的问题中添加 aiohttp 标记。

要求

或者,您可以安装 cchardet aiodns 库(高度 为了提高速度,建议您使用。

许可证

aiohttp 在apache 2许可下提供。

纪念品

aiohttp社区要感谢keepsafe ( https://www.getkeepsafe.com )早期支持 项目。

源代码

github存储库中提供了最新的开发人员版本: https://github.com/aio-libs/aiohttp

基准

如果您对效率感兴趣,Asyncio社区将维护 官方wiki上的基准列表: https://github.com/python/asyncio/wiki/benchmarks

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java FloatingAction按钮与RecyclerView中的CardView重叠   java如何计算CardLayout中的卡数   从远程系统上传MySQL数据库并访问Java应用程序   java调用堆栈如何处理带或不带返回类型的递归?   Springboot中的java组计数聚集   java如何在javafx textarea中使用richtextfx   获取与Mockito相关的错误时出现Java问题   java如何将JaxRS响应转换为Wiremock响应   Hadoop集群java。net ConnectionException:连接被拒绝错误   java如何加载文件私有文件类型是pem   java在元空间中的提升和加载的类   如何将系统属性传递给从HTML启动的Java小程序   java如何从网页中获取值并在主类中使用它?安卓应用   java在春天,advisor和aspect之间有什么区别?   java如何检测文件是否已重命名?   java消息驱动Bean何时使用