【问题标题】:Get ipv4 address of visitors in http.server.BaseHTTPRequestHandler hosted在托管的 http.server.BaseHTTPRequestHandler 中获取访问者的 ipv4 地址
【发布时间】:2020-04-27 23:24:42
【问题描述】:

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

【问题讨论】:

标签: python ip-address basehttprequesthandler


【解决方案1】:

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

这将返回一个如下形式的元组:

(their ipv4 address, their port)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-16
    • 1970-01-01
    • 2018-11-17
    • 2010-11-06
    • 1970-01-01
    • 1970-01-01
    • 2021-01-05
    相关资源
    最近更新 更多