如何在python中创建一个简单的HTTP Web服务器?

时间:2017-08-09 07:40:28

标签: python webserver

我已经使用Flask设计了一个rest API,我想在python中创建一个简单的Web服务器来获取和发布数据。如何在python中创建Web服务器?我不想使用curl和localserver 5000

4 个答案:

答案 0 :(得分:2)

对于Linux 打开终端并输入:

$ cd /home/somedir
$ python -m SimpleHTTPServer

现在您的http服务器将从端口8000开始。您将收到消息:

Serving HTTP on 0.0.0.0 port 8000 ...

现在打开浏览器并输入以下地址:

http://your_ip_address:8000

您也可以通过以下方式访问它:

http://127.0.0.1:8000

http://localhost:8000

另请注意:

  

如果目录中有一个名为index.html的文件,该文件将作为初始文件提供。如果没有index.html,则将列出目录中的文件。

如果您希望更改已使用的端口,请通过以下方式启动该程序:

$ python -m SimpleHTTPServer 8080

将端口号更改为您想要的任何内容。

答案 1 :(得分:1)

在python3上,命令为python3 -m http.server Google搜索很容易引导您this post

答案 2 :(得分:0)

要在python中创建一个简单的HTTP网络服务器,请使用内置的SimpleHTTPServer模块,如下所示:

python -m SimpleHTTPServer 8080

其中8080​​是端口号。

答案 3 :(得分:0)

对于非常简单的选项,根据给出的单行。对于可以在 asyncio 框架中轻松扩展的内容,从当前文件夹(因此是 os.path)提供文件是一个不错的开始。

import asyncio
from aiohttp import web
from os.path import abspath, dirname, join

async def main():
    app = web.Application()
    app.add_routes([
        web.static('/', abspath(join(dirname(__file__))))
    ])
    runner = web.AppRunner(app)
    await runner.setup()
    await web.TCPSite(runner, 'localhost', '8080').start()
    await asyncio.get_running_loop().create_future()

asyncio.run(main())