如何配置与本地主机分开的主机,以便其他计算机也可以访问该主机? 可以吗
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()
答案 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
现在,即使您已经成功地在公共接口上进行侦听,但如果您正在运行防火墙,则可能必须先禁用防火墙,然后才能连接任何外部设备。