我有一個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