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