【问题标题】:How do I get IP Addres in Python [duplicate]如何在 Python 中获取 IP 地址 [重复]
【发布时间】:2013-02-27 19:09:28
【问题描述】:

有什么方法可以在纯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

【问题讨论】:

  • 发出请求服务的用户的IP。这是 Tornado 中的 WebService。
  • 你有没有想过可能告诉我们?
  • 我要确定外部ip(非本地)
  • 一个简单的谷歌搜索提供了这个stackoverflow.com/questions/3110919/…

标签: python


【解决方案1】:

如果您在谈论您的本地机器,可以通过 Google 快速搜索找到:

Finding local IP addresses using Python's stdlib

【讨论】:

    【解决方案2】:

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

    result = descriptor.getpeername()
    

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

      • python3.4 这样我只能得到127.0.0.1
      猜你喜欢
      • 2018-07-14
      • 2013-12-30
      • 2012-11-16
      • 1970-01-01
      • 2013-12-04
      • 2011-04-03
      • 2014-06-13
      • 2021-01-28
      • 2011-05-07
      相关资源
      最近更新 更多