着信post()
s用のRequestHandler
オブジェクトがあります。リクエストを行っているクライアントの[〜#〜] ip [〜#〜]を見つけるにはどうすればよいですか? RequestHandler
のメソッドとプロパティのほとんどを閲覧しましたが、何かを見逃しているようです。
RequestHandler.request.remote_ip
(RequestHandlerのインスタンスから)
次のように応答を調べることができます。
...
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write(repr(self.request))
...
mykhalの答えは正しいですが、アプリケーションがプロキシの背後にある場合があります。たとえば、nginxとUWSGIを使用していて、リモートIPに対して常に127.0.0.1
のようなものを取得する場合です。この場合、次のようにヘッダーもチェックする必要があります。
x_real_ip = self.request.headers.get("X-Real-IP")
remote_ip = x_real_ip or self.request.remote_ip