web.py - 指定地址和端口(web.py - specify address and por

2019-07-18 11:47发布

如何指定监听地址和端口web.py ? 就像是:

web.application( urls, host="33.44.55.66", port=8080 )

编辑

我想避免使用缺省web.py命令行解析

Answer 1:

从API docmentation web.py :

 module web.httpserver
    function runsimple(func,server_address=('0.0.0.0', 8080))  

运行在管理WSGI应用FUNC CherryPy的WSGI服务器。 目录静态/静态主办。

示例代码

import web

class MyApplication(web.application):
    def run(self, port=8080, *middleware):
        func = self.wsgifunc(*middleware)
        return web.httpserver.runsimple(func, ('0.0.0.0', port))

if __name__ == "__main__":
    app = MyApplication(urls, globals())
    app.run(port=8888)


Answer 2:

如果您使用web.py内置的Web服务器,你可以追加端口的命令:

python app.py 8080

我还没有与监听地址曾经尝试过,但也许会接受1.2.3.4:8080作为格式。



Answer 3:

你可以看到在wsgi.py后续代码:

server_addr = validip(listget(sys.argv, 1, ''))
if os.environ.has_key('PORT'): # e.g. Heroku
    server_addr = ('0.0.0.0', intget(os.environ['PORT']))

return httpserver.runsimple(func, server_addr)

所以,你可以通过设置附加ENVIRON变量的Web服务器端口:

import os
os.environ["PORT"] = "80"


Answer 4:

if __name__ == "__main__":
     web.httpserver.runsimple(app.wsgifunc(), ("0.0.0.0", 8888))


文章来源: web.py - specify address and port
标签: python web.py