Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Tornado中获取服务器IP地址?_Python_Tornado - Fatal编程技术网

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

Python 如何在Tornado中获取服务器IP地址?,python,tornado,Python,Tornado,在基于tornado的应用程序中,我需要在会话中存储服务器的IP地址(例如,用户用于连接到服务器的地址)。如何在Tornado中确定此IP地址?我使用的是Tornado 2.4.1。您可以将HttpServerRequest对象挖掘为 不过,您使用的是Tornado的一个非常旧的版本。您可以将HttpServerRequest对象作为一个对象进行挖掘 不过,您使用的是Tornado的一个非常旧的版本。如果您不介意添加一些依赖项,您可以从以下位置执行此操作: 这里需要注意的一点是,可以包含端口号。

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

您可以将
HttpServerRequest
对象挖掘为


不过,您使用的是Tornado的一个非常旧的版本。

您可以将
HttpServerRequest
对象作为一个对象进行挖掘


不过,您使用的是Tornado的一个非常旧的版本。

如果您不介意添加一些依赖项,您可以从以下位置执行此操作:


这里需要注意的一点是,可以包含端口号。这就是为什么首选使用
urlparse

解析它的原因。如果您不介意添加一些依赖项,可以通过以下方式进行解析:


这里需要注意的一点是,可以包含端口号。这就是为什么首选使用
urlparse

socket对其进行解析。gethostbyname将在DNS查询完成时挂起Tornado事件循环。在现代Tornado中,请改用Tornado.netutil.Resolver.socket.gethostbyname在DNS查询完成时将挂起Tornado事件循环。在现代Tornado中,请改用Tornado.netutil.Resolver。
import socket
import urlparse    

hostname = urlparse.urlparse("%s://%s"
    % (self.request.protocol, self.request.host)).hostname

ip_address = socket.gethostbyname(hostname)