如何在Tornado中获取服务器IP地址?

时间:2014-08-18 09:21:03

标签: python tornado

在我基于龙卷风的应用程序中,我需要在会话中存储服务器的IP地址(例如,用户用来连接服务器的地址)。如何在Tornado中确定此IP地址?我正在使用Tornado 2.4.1。

2 个答案:

答案 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

你使用的是旧版的龙卷风。