web.py – especifique dirección y puerto

¿Cómo especificar la dirección de escucha y el puerto en web.py ? Algo como:

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

Editar

Me gustaría evitar utilizar el análisis de línea de comandos web.py predeterminado

Desde la documentación de la API de web.py :

  módulo web.httpserver
     función runsimple (func, server_address = ('0.0.0.0', 8080)) 

Ejecuta el servidor CherryPy WSGI que aloja la función WSGI. El directorio static / está alojado estáticamente.

Código de ejemplo

 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) 

Si está usando el servidor web incorporado de web.py, puede simplemente agregar el puerto al comando:

 python app.py 8080 

No he intentado nunca con la dirección de escucha, pero tal vez acepte 1.2.3.4:8080 como el formato.

Puedes ver el siguiente código en wsgi.py:

 server_addr = validip(listget(sys.argv, 1, '')) if os.environ.has_key('PORT'): # eg Heroku server_addr = ('0.0.0.0', intget(os.environ['PORT'])) return httpserver.runsimple(func, server_addr) 

Por lo tanto, puede configurar el puerto del servidor web agregando una variable de entorno:

 import os os.environ["PORT"] = "80" 
 if __name__ == "__main__": web.httpserver.runsimple(app.wsgifunc(), ("0.0.0.0", 8888))