在我基于龙卷风的应用程序中,我需要在会话中存储服务器的IP地址(例如,用户用来连接服务器的地址)。如何在Tornado中确定此IP地址?我正在使用Tornado 2.4.1。
答案 0 :(得分:3)
如果您不介意投入某些依赖项,可以从request handler执行此操作:
import socket
import urlparse
hostname = urlparse.urlparse("%s://%s"
% (self.request.protocol, self.request.host)).hostname
ip_address = socket.gethostbyname(hostname)
这里需要注意的一点是self.request.host
可以包含端口号。这就是为什么首选使用urlparse
解析它。
答案 1 :(得分:1)
您可以将HttpServerRequest
对象挖掘为documented here。
你使用的是旧版的龙卷风。