-1

有没有办法在纯python(不是Django)中获取IP地址?

我找到了下面的代码,但我没有 Request 对象。

def get_client_ip(request):
    x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR')
    if x_forwarded_for:
        ip = x_forwarded_for.split(',')[-1].strip()
    else:
        ip = request.META.get('REMOTE_ADDR')
    return ip
4

3 回答 3

0

如果您正在谈论您的本地机器,那么快速谷歌搜索会发现:

使用 Python 的 stdlib 查找本地 IP 地址

于 2013-02-27T19:13:12.670 回答
0

听起来您是在说您有一个套接字对象,该对象是先前accept调用的结果。如果是这样,该套接字对象将具有一个getpeername属性:

result = descriptor.getpeername()

如果它是 IP 套接字,则结果将是(hostaddr, port)对。

于 2013-02-27T19:19:53.193 回答
-1

您可以使用 socket 模块获取本地 IP 地址

>>> import socket
>>> socket.gethostbyname(socket.gethostname())
于 2013-02-27T19:13:19.563 回答