用Python获取客户端IP

4 投票
2 回答
2886 浏览
提问于 2025-04-15 23:14

我刚开始学习Python。

我想写一个简单的网站,能在屏幕上显示客户端的IP地址。

我的http.conf处理器设置是:

AddHandler mod_python .py
PythonHandler mod_python.publisher
PythonDebug On

我用cgi.escape(os.environ["REMOTE_ADDR"])时出现了这个错误:KeyError: 'REMOTE_ADDR'。我对BaseHTTPRequestHandler感到很困惑。

那么,有什么简单的方法可以获取客户端的IP地址呢?谢谢。

2 个回答

0

好的,我找到了答案:

from mod_python import apache
def client_ip(req):
    req.add_common_vars()
    return req.subprocess_env['REMOTE_ADDR']

它现在可以用了!

7

如果你担心系统的扩展性,这种方法可能会更快一些:

from mod_python import apache
req.get_remote_host(apache.REMOTE_NOLOOKUP)

撰写回答