修改http_charfinder.py使能在python311环境中运行

需要修改两个函数,第一个是init函数,修改如下:

async def init(loop, address, port): # <1>

app = web.Application(loop=loop) # <2>

app.router.add_route('GET', '/', home) # <3>

app = web.Application() # <2>

app.add_routes([web.get('/', home)])

handler = app.make_handler() # <4>

server = yield from loop.create_server(handler,

address, port) # <5>

runner = web.AppRunner(app)

await runner.setup()

server = await loop.create_server(runner.server,

address, port) # <5>

return server.sockets[0].getsockname() # <6>

不修改程序会报deprecation警报

第二个函数是home函数,修改如下:

def home(request): # <1>

query = request.GET.get('query', '').strip() # <2>

query = request.query.get('query', '').strip() # <2>

...

不修改程序会报如下错误:

Error handling request

Traceback (most recent call last):

...

File "D:\fluentPy\chapter17_18\http_charfinder.py", line 29, in home

query = request.GET.get('query', '').strip() # <2>

^^^^^^^^^^^

AttributeError: 'Request' object has no attribute 'GET'

因为request.GET已经被弃用了

如果程序运行正常,浏览器界面如下:

相关推荐
程序员的世界你不懂4 小时前
Appium+python自动化(八)- 认识Appium- 下章
python·appium·自动化
恸流失4 小时前
DJango项目
后端·python·django
Julyyyyyyyyyyy5 小时前
【软件测试】web自动化:Pycharm+Selenium+Firefox(一)
python·selenium·pycharm·自动化
蓝婷儿6 小时前
6个月Python学习计划 Day 15 - 函数式编程、高阶函数、生成器/迭代器
开发语言·python·学习
love530love6 小时前
【笔记】在 MSYS2(MINGW64)中正确安装 Rust
运维·开发语言·人工智能·windows·笔记·python·rust
水银嘻嘻7 小时前
05 APP 自动化- Appium 单点触控& 多点触控
python·appium·自动化
狐凄7 小时前
Python实例题:Python计算二元二次方程组
开发语言·python
烛阴8 小时前
Python枚举类Enum超详细入门与进阶全攻略
前端·python
Mikhail_G9 小时前
Python应用函数调用(二)
大数据·运维·开发语言·python·数据分析
weixin_472339469 小时前
使用Python提取PDF元数据的完整指南
java·python·pdf