获取http.server.BaseHTTPRequestHandler托管的访问者的ipv4地址



当从Python托管一个简单的http.server.BaseHTTPRequestHandler服务器时,我想获得任何访问我的服务器的人的ip地址。我环顾四周,发现了Java和C的解决方案,但没有发现Python的解决方案。当我尝试将解决方案转换为任何一种语言时,它们都不起作用。Java的GetIp不是BaseHTTPRequestHandler类的一部分,C的UserHostName也不是。我也不是从Flaskbottle或任何其他服务平台服务的,所以我不能使用它们的任何方法。我该怎么做?

有一个子类requestBaseHTTPRequestHandler类的一部分,它里面有一些函数,可以告诉你服务器的ip地址以及访问它的机器。将其添加到do_GET函数中:self.request.getpeername()

这将返回一个形式为的元组

(their ipv4 address, their port)

最新更新