竜巻リクエストのクライアントIPを取得するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/3110919

  •  29-09-2019
  •  | 
  •  

質問

私は持っています RequestHandler 着信のためのオブジェクト post()s。どうすれば見つけることができますか IP クライアントがリクエストをしている?私はほとんどを閲覧しました RequestHandlerの方法と特性は、何かを見逃したようです。

役に立ちましたか?

解決

RequestHandler.request.remote_ip (RequestHandlerのインスタンスから)

次のような応答を検査できます。

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

他のヒント

Mykhalの答えは正しいですが、たとえばNginxとUWSGIを使用すると、常に次のようなものを取得する場合、アプリケーションがプロキシの背後にある場合があります。 127.0.0.1 リモートIP用。この場合、次のようにヘッダーを確認する必要があります。

x_real_ip = self.request.headers.get("X-Real-IP")
remote_ip = x_real_ip or self.request.remote_ip
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top