2010-05-27 150 views
4

我是python中的新手。 我想寫一個簡單的Web,打印屏幕上使用python獲取客戶端ip

我的http.conf處理程序的客戶端IP: 的AddHandler mod_python中的.py PythonHandler mod_python.publisher PythonDebug在

的cgi.escape(os.environ [「REMOTE_ADDR」])返回這個錯誤:KeyError:'REMOTE_ADDR' 我只是迷失了BaseHTTPRequestHandler 那麼獲取客戶端ip的簡單方法是什麼? 謝謝。

回答

0

OK,我找到了答案:

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

它的工作!

6

如果你很在意的可擴展性,這可能是一個有點快:

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