如何在Python中获取IP地址

时间:2013-02-27 19:09:28

标签: python

有没有办法在纯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

3 个答案:

答案 0 :(得分:0)

如果您正在谈论本地计算机,快速谷歌搜索会发现:

Finding local IP addresses using Python's stdlib

答案 1 :(得分:0)

听起来你说你有一个套接字对象是早期accept调用的结果。如果是这样,那个套接字对象将具有getpeername属性:

result = descriptor.getpeername()

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

答案 2 :(得分:-1)

您可以使用套接字模块获取本地IP地址

>>> import socket
>>> socket.gethostbyname(socket.gethostname())