4

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.

Elad
  • 479
  • 3
  • 11
  • 21

2 Answers2

7

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)
ʇsәɹoɈ
  • 22,757
  • 7
  • 55
  • 61
0

OK, I found the answer:

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

It's working!

Al.G.
  • 4,327
  • 6
  • 31
  • 56
Elad
  • 479
  • 3
  • 11
  • 21