Подтвердить что ты не робот

Web.py - указать адрес и порт

Как указать адрес и порт прослушивания в web.py? Что-то вроде:

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

Edit

Я бы хотел избежать использования разбора командной строки по умолчанию web.py

4b9b3361

Ответ 1

Из API-документа web.py:

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

Запускает сервер CherryPy WSGI, поддерживающий приложение WSGI. Каталог static/размещается статически.

Пример кода

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)

Ответ 2

Если вы используете встроенный веб-сервер web.py, вы можете просто добавить порт к команде:

python app.py 8080

Я не пробовал когда-либо с адресом прослушивания, но, возможно, он примет формат 1.2.3.4:8080 в качестве формата.

Ответ 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)

поэтому вы можете установить порт веб-сервера, добавив переменную среды:

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

Ответ 4

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