Frage

ich für eingehenden RequestHandlers ein post() Objekt habe. Wie kann ich die IP des Kunden, der die Anforderung finden? Ich habe die meisten RequestHandler Methoden durchsucht und die Eigenschaften und scheinen etwas verpasst zu haben.

War es hilfreich?

Lösung

RequestHandler.request.remote_ip (von Request der Instanz)

können Sie die Antwort wie überprüfen:

...
class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write(repr(self.request))
...

Andere Tipps

mykhal Antwort richtig ist, aber manchmal Ihre Anwendung hinter einem Proxy, zum Beispiel, wenn Sie nginx und uwsgi und Sie werden immer so etwas wie 127.0.0.1 für den Remote-IP erhalten. In diesem Fall müssen Sie die Header überprüfen, wie:

x_real_ip = self.request.headers.get("X-Real-IP")
remote_ip = x_real_ip or self.request.remote_ip
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top