2010-05-27 12 views
4

Je suis un débutant en python. Je veux écrire un web simple qui imprime l'adresse IP du client sur l'écranObtenir le client ip avec python

mon http.conf Handler: AddHandler mod_python .py PythonHandler mod_python.publisher PythonDebug Sur

Le cgi.escape (os.environ ["REMOTE_ADDR"]) renvoie cette erreur: KeyError: 'REMOTE_ADDR' et je viens de me perdre avec le BaseHTTPRequestHandler alors quel est le moyen simple d'obtenir l'adresse IP du client? merci.

Répondre

0

OK, je l'ai trouvé la réponse:

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

Il travaille!

6

Si vous êtes préoccupé par l'évolutivité, cela pourrait être un peu plus rapide:

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