当从Python托管一个简单的http.server.BaseHTTPRequestHandler
服务器时,我想获得任何访问我的服务器的人的ip地址。我环顾四周,发现了Java和C的解决方案,但没有发现Python的解决方案。当我尝试将解决方案转换为任何一种语言时,它们都不起作用。Java的GetIp
不是BaseHTTPRequestHandler
类的一部分,C的UserHostName
也不是。我也不是从Flask
、bottle
或任何其他服务平台服务的,所以我不能使用它们的任何方法。我该怎么做?
有一个子类request
是BaseHTTPRequestHandler
类的一部分,它里面有一些函数,可以告诉你服务器的ip地址以及访问它的机器。将其添加到do_GET
函数中:self.request.getpeername()
这将返回一个形式为的元组
(their ipv4 address, their port)