[英]How to get IP address of the client who made request to python SimpleHTTPServer?
[英]How to get client IP from SimpleHTTPServer
使用Python中的SimpleHTTPServer
模塊構建簡單的文件服務器,但是在嘗試從連接的客戶端獲取IP時遇到了問題。 這是我所擁有的..
import SimpleHTTPServer
Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
httpd = SocketServer.TCPServer(("", 8080), Handler)
print "Serving local directory"
while True:
httpd.handle_request()
print Handler.client_address[0]
當客戶端連接時,我得到..
AttributeError:類SimpleHTTPRequestHandler沒有屬性'client_address'
我知道這是因為我尚未實例化該類,但是還有另一種無需創建處理程序實例即可從客戶端獲取IP的方法嗎? 建立連接后,客戶端的IP將輸出到控制台,我只需要一種方法即可在腳本中獲取該IP。
謝謝!
實際上, Handler
類對象與特定實例無關。 設置自己的處理程序類,如下所示:
import SimpleHTTPServer
import SocketServer
class MyHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
def handle_one_request(self):
print(self.client_address[0])
return SimpleHTTPServer.SimpleHTTPRequestHandler.handle_one_request(self)
print("Serving local directory")
httpd = SocketServer.TCPServer(("", 8080), MyHandler)
while True:
httpd.handle_request()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.