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

2024-06-26 13:57:10 发布

您现在位置:Python中文网/ 问答频道 /正文

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


Tags: ip服务器语言httpflaskbottleserver地址
1条回答
网友
1楼 · 发布于 2024-06-26 13:57:10

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

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

(their ipv4 address, their port)

相关问题 更多 >