将HTTP Server绑定到本地ip:port,以便局域网中的其他人可以看到它?

时间:2010-11-09 22:06:39

标签: python networking

我想在局域网上运行简单的HTTP服务器来测试它,如何将本地IP绑定到此服务器,以便同一局域网中的每个人都可以看到它?

 addr = ("192.168.10.14", 8765)
 srvr = HTTPServer(addr,RequestHandler)

我收到此错误:

错误:[Errno 10049]请求的地址在其上下文中无效

4 个答案:

答案 0 :(得分:13)

试试这个:

addr = ("0.0.0.0", 8765)

这就是我所做的:

import BaseHTTPServer
from SimpleHTTPServer import SimpleHTTPRequestHandler

addr = ("0.0.0.0", 8765)

serv = BaseHTTPServer.HTTPServer(addr, SimpleHTTPRequestHandler)

serv.serve_forever()

来自另一台机器:

192.168.1.2 - - [09/Nov/2010 22:26:09] "GET / HTTP/1.1" 200 -

答案 1 :(得分:3)

如果将地址保留为空字符串,则可以绑定到所有接口

addr = ("", 8765)

如果你真的只想绑定一个接口,首先要确保输入本地接口的地址,而不是你和你的盒子之间的某个NAT设备的地址。

答案 2 :(得分:2)

为什么不能使用python -m SimpleHTTPServer [port]Python - SimpleHTTPServer

答案 3 :(得分:2)

更简单:

cd到要提供的目录并在终端中运行

python -m http.server 8888 --bind 0.0.0.0

然后在局域网上的另一个框中输入

192.168.x.x:8888

在浏览器中,其中192.168.x.x是局域网上服务盒的地址,您将在ifconfig输出中看到