我正在使用python和CherryPy创建一个约2人使用的简单内部网站.我使用带有CherryPy.quickstart的内置网络服务器,并且从不搞乱配置文件.我最近更换了机器,所以我安装了最新的Python和cherrypy,当我运行该站点时,我可以从localhost:8080访问它,但不能通过IP或Windows机器名称访问它.它可能是机器配置差异或CherryPy或Python的较新版本.我有什么想法可以绑定到正确的IP地址?
编辑:为了说清楚,我目前根本没有配置文件.
server.socket_host: '0.0.0.0'
......也会奏效.那是IPv4 INADDR_ANY,意思是"在所有接口上监听".
在配置文件中,语法为:
[global] server.socket_host: '0.0.0.0'
在代码中:
cherrypy.server.socket_host = '0.0.0.0'
这取决于你如何运行cherrypy init.
如果使用cherrypy 3.1语法,那么这样做:
cherrypy.server.socket_host = 'www.machinename.com' cherrypy.engine.start() cherrypy.engine.block()
当然,您可以拥有更多花哨的东西,例如子类化服务器类或使用配置文件.这些用途包含在文档中.
但这应该足够了.如果不只是告诉我们你在做什么和樱桃版,我将编辑这个答案.
import cherrypy class HelloWorld(object): def index(self): return "Hello World!" index.exposed = True cherrypy.server.socket_host = '0.0.0.0' # put it here cherrypy.quickstart(HelloWorld())