views:

131

answers:

2

Hi, I'm a newbie in python. I want to write a simple web that prints the client ip on screen

my http.conf Handler: AddHandler mod_python .py PythonHandler mod_python.publisher PythonDebug On

The cgi.escape(os.environ["REMOTE_ADDR"]) return this error: KeyError: 'REMOTE_ADDR' and I just get lost with the BaseHTTPRequestHandler so what is the simple way to get the client ip? thank you.

A: 

Ok. I've found the answer:

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

is working!

Elad
+3  A: 

In case you're concerned about scalability, this might be a bit faster:

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