如何创建可被其他IP访问的网页(Python wsgiref.simple_server)

时间:2018-11-21 15:34:44

标签: python

如何配置与本地主机分开的主机,以便其他计算机也可以访问该主机? 可以吗

from wsgiref.simple_server import make_server

def hello_world(environ, start_response):
    status = '200 ok'
    headers = [('Content-type','text/plain')]
    start_response(status, headers)

    return ['Hello World']

def run():
    httpd = make_server(localhost, 8000, hello_world)
    print 'Serving on port 80...'
    httpd.serve_forever()

if __name__ == '__main__':
    run()

1 个答案:

答案 0 :(得分:0)

只需传递一个空字符串作为主机名,它将绑定到您的公共网络接口:

httpd = make_server('', 8000, hello_world)

如果您使用的是Windows,则可以按netstat进行确认,如下所示。当我将'localhost'作为第一个参数传递时,它绑定到127.0.0.1

PS C:\Users\cody> netstat -a -n | findstr LISTENING | findstr :8000
  TCP    127.0.0.1:8000         0.0.0.0:0              LISTENING

我通过''时,它绑定到0.0.0.0,这实际上意味着“所有接口”:

PS C:\Users\cody> netstat -a -n | findstr LISTENING | findstr :8000
  TCP    0.0.0.0:8000           0.0.0.0:0              LISTENING

现在,即使您已经成功地在公共接口上进行侦听,但如果您正在运行防火墙,则可能必须先禁用防火墙,然后才能连接任何外部设备。