0

从 Python托管一个简单的http.server.BaseHTTPRequestHandler服务器时,我想获取访问我服务器的任何人的 IP 地址。我环顾四周,找到了 Java 和 C 的解决方案,但没有找到 Python 的解决方案。当我尝试用任何一种语言转换解决方案时,它们都不起作用。GetIpfrom Java 不是BaseHTTPRequestHandler该类的一部分,from C 也不是。UserHostName我也不是从Flask,bottle或任何其他服务平台提供服务,因此我不能使用他们的任何方法。我该怎么做?

4

1 回答 1

0

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

这将返回以下形式的元组:

(their ipv4 address, their port)
于 2020-04-27T23:24:42.807 回答