2 qq 21397217 qq_21397217 于 2016.09.22 09:13 提问

使用python3的asyncio写的网页不显示,会直接变成下载文件,是什么原因?

用python 3.5.2写的网页,但是运行起来后浏览器访问网址不会显示页面,而是直接把网页文件下载下来,下载下来的文件是可以使用浏览器打开的。
使用chrome和firefox都是这样的。

代码:

 import asyncio
from aiohttp import web

def index(request):
    return web.Response(body=b'<h1>Awesome</h1>')

@asyncio.coroutine
def init(loop):
    app = web.Application(loop=loop)
    app.router.add_route('GET', '/', index)
    srv = yield from loop.create_server(app.make_handler(), '127.0.0.1', 9000)
    print('server started at http://127.0.0.1:9000...')
    return srv

loop = asyncio.get_event_loop()
loop.run_until_complete(init(loop))
loop.run_forever()

访问网址后下载下来的文件如下图,内容是

<h1>Awesome</h1>

图片说明

图片说明

双击文件可以在浏览器中打开,如下图:

图片说明

1个回答

oyljerry
oyljerry   Ds   Rxr 2016.09.22 21:12

用IE试试。1这个是浏览器行为

qq_21397217
qq_21397217 回复oyljerry: 解决了,在Response中加上content_type='text/html'就好了, return web.Response(body=b'<h1>Awesome</h1>', content_type='text/html')
大约一年之前 回复
qq_21397217
qq_21397217 回复oyljerry: 返回完整网页也不行,80拒绝访问,无法访问此网站 localhost 拒绝了我们的连接请求。
大约一年之前 回复
oyljerry
oyljerry 回复VDer: 你改成80端口,以及返回一个完整的html页面试试
大约一年之前 回复
qq_21397217
qq_21397217 我在linux上做的,没有ie,况且限制浏览器这也不是办法啊
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!