如何使用CherryPy配置IP地址?

Mat*_*ice 17 python cherrypy

我正在使用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)

当然,您可以拥有更多花哨的东西,例如子类化服务器类或使用配置文件.这些用途包含在文档中.

但这应该足够了.如果不只是告诉我们你在做什么和樱桃版,我将编辑这个答案.

  • 在我打电话给cherrypy.quickstart之前,我只需要第一行,谢谢 (2认同)

小智 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)