繁体   English   中英

如何获取Tornado请求的客户端IP?

[英]How do I get the client IP of a Tornado request?

我有一个RequestHandler对象用于传入的post() 如何找到发出请求的客户端的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 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM