[英]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.