这两天在学习某大神写的关于aiohttp文章,使用其代码进行测试,不管怎样都运行不成功,用了两天时间查了不少资料,最终得到了满意的结果.现在与大家一起分享
(也许是我的环境与大神的环境有出入,我的开发环境python3.7.4)
1)在test-web项目中新建个test_aiohttpServer.py
#!/usr/bin/env python3 # -*- coding: utf-8 -*- ' a test aiohttp server ' __author__ = 'TianJiang Gui' import asyncio 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 index(request): await asyncio.sleep(0.5) return web.Response(body=b'<h1>Index</h1>', content_type='text/html') async def hello(request): await asyncio.sleep(0.5) text = '<h1>hello, %s!</h1>' % request.match_info['name'] return web.Response(body=text.encode('utf-8'), content_type='text/html') if __name__ == '__main__': app = web.Application() app.add_routes([web.get('/', index), web.get('/{name}', handle), web.get('/hello/{name}', hello)]) web.run_app(app,host='127.0.0.1',port=8100)
2)测试运行
2.1)pycharm中运行
2.2)打开浏览器测试运行
1)测试根路径
2)测试带参数
3)要注意的开发细节
如果要返回body页面内容一定要带上 content_type='text/html'
否则就会成为下载页面,如图:
最后,希望我的付出对大家有所帮助! :)