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地址進行訪問。
以下可以提供額外的信息