0
使用Python的SimpleHTTPServer,我怎样才能让这个服务器仅响应来自本地计算机的请求?如何限制在Python中访问本地主机的页面?
是否有语言无关的方式来做到这一点?也许通过使用一个不公开的特定端口,或告诉防火墙不允许从外部访问该端口?
这个问题类似于this one,但具体到与Python的SimpleHTTPServer写了一个服务器。
使用Python的SimpleHTTPServer,我怎样才能让这个服务器仅响应来自本地计算机的请求?如何限制在Python中访问本地主机的页面?
是否有语言无关的方式来做到这一点?也许通过使用一个不公开的特定端口,或告诉防火墙不允许从外部访问该端口?
这个问题类似于this one,但具体到与Python的SimpleHTTPServer写了一个服务器。
你可以使用环回接口。 localhost
或127.0.0.1
表示本地地址,绕过完整的网络堆栈,并且不能通过网络访问。见wikipedia
采取SimpleHTTPServer example。
import SimpleHTTPServer
import SocketServer
PORT = 8000
Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
httpd = SocketServer.TCPServer(("", PORT), Handler)
print "serving at port", PORT
httpd.serve_forever()
我们可以绑定到特定的地址,你可以使用分配给您的计算机/接口的地址,或者在你的情况,回环设备。
httpd = SocketServer.TCPServer(("127.0.0.1", PORT), Handler)
然后你可以在http://127.0.0.1:8000/
或http://localhost:8000/
访问服务器。服务器无法通过本地机器和网络使用您的计算机分配的IP地址进行访问。
以下可以提供额外的信息