我有一个RequestHandler
传入的对象post()
s。我如何才能找到提出请求的客户端的IP?我浏览了大部分RequestHandler
的方法和属性,似乎漏掉了一些东西。如何获取Tornado请求的客户端IP?
回答
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
remote_ip = x_real_ip或self.request.remote_ip – itzhaki 2015-09-06 12:09:39
@itzhaki谢谢你的建议,我更新了我的回答 – 2015-11-26 13:25:09
@itzhaki @ 3k但文档(http://www.tornadoweb.org/en/stable/httputil.html#tornado.httputil.HTTPServerRequest .remote_ip)表示“如果设置了HTTPServer.xheaders,将传递负载均衡器在X-Real-Ip或X-Forwarded-For报头中提供的真实IP地址”。所以'remote_ip'最后从头部的'X-Real-Ip'或'X-Forwarded-For'返回。 – igaurav 2016-05-10 09:53:15
- 1. 如何获取Tornado Web套接字请求的客户端IP?
- 2. 如何获取请求Tor WebPage的客户端IP?
- 3. 如何使用Restify从请求对象获取客户端IP?
- 4. 获取客户端IP的客户端
- 5. 获取请求的客户端的IP地址(SOAP消息)
- 6. 获取mule中的每个请求的客户端IP地址
- 7. 获取请求的客户端的IP地址expressjs
- 8. 如何获取客户端的IP?
- 9. 如何获取客户端的IP?
- 10. 获取请求客户端的IP地址(Soap消息)
- 11. node.js从http请求对象获取客户端IP
- 12. 如何获取客户端IP地址
- 13. 如何获取客户端IP地址
- 14. 如何获取请求客户机的SOAP的源IP?
- 15. Node.js:获取客户端IP
- 16. DARTlang获取客户端IP
- 17. 如何从java中的请求获取客户端的浏览器ip?
- 18. 如何获取嵌入式NettyJaxrsServer中的请求的客户端IP
- 19. Http客户端获取请求
- 20. CakePHP - 如何获取模型上的请求URL和客户端IP?
- 21. 如何从haproxy docker容器中的请求获取客户端IP?
- 22. 如何获取Yii的SOAP客户端请求头?
- 23. 如何从窗体客户端的HTTP请求获取值
- 24. 如何获取系统的客户端ip和服务器ip?
- 25. 如何获得OpenERP的客户端IP
- 26. 从客户端请求,服务器端获取Active Directory用户?
- 27. tcp从edittext获取客户端的ip
- 28. 获取客户端IP中的Symfony2
- 29. 如何从传统ASP请求获取* actual *客户端URL?
- 30. 如何从请求中获取客户端域名
文档:http://www.tornadoweb.org/en/stable/httputil.html#tornado.httputil.HTTPServerRequest.remote_ip – trss 2016-05-10 08:07:55