[从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)