python小技巧大应用--实测aiohttp可正常运行的写法

这两天在学习某大神写的关于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'

Index

', content_type='text/html') async def hello(request): await asyncio.sleep(0.5) text = '

hello, %s!

' % 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中运行

        python小技巧大应用--实测aiohttp可正常运行的写法_第1张图片

         2.2)打开浏览器测试运行

                1)测试根路径

                python小技巧大应用--实测aiohttp可正常运行的写法_第2张图片

                2)测试带参数

                python小技巧大应用--实测aiohttp可正常运行的写法_第3张图片

                python小技巧大应用--实测aiohttp可正常运行的写法_第4张图片

3)要注意的开发细节

        如果要返回body页面内容一定要带上 content_type='text/html'

        python小技巧大应用--实测aiohttp可正常运行的写法_第5张图片

         否则就会成为下载页面,如图:

        python小技巧大应用--实测aiohttp可正常运行的写法_第6张图片

 最后,希望我的付出对大家有所帮助! :)

你可能感兴趣的:(python,开发语言,后端)