Elad
Elad

Reputation: 479

Get client ip with python

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.

Upvotes: 4

Views: 2931

Answers (2)

ʇsәɹoɈ
ʇsәɹoɈ

Reputation: 23459

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)

Upvotes: 7

Elad
Elad

Reputation: 479

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!

Upvotes: 0

Related Questions