【问题标题】:Getting wrong local IP address in python在python中获取错误的本地IP地址
【发布时间】:2015-02-23 04:35:07
【问题描述】:

我的操作系统是 Windows 8.1,我在 Vmware 中安装了 Windows 7 和 linux debian。在python(2.7)中,当我尝试获取本地IP地址时,它显示vmware的IP地址(Win7)而不是Win8.1的IP地址(图片)!有什么问题?
我已将 vmware 的网络适配器设置为 NAT。

编辑:我使用的代码:socket.gethostbyname(socket.gethostname())

【问题讨论】:

  • 你能在你的问题中添加你的代码吗?很难在图片中看到
  • 对不起!我用socket.gethostbyname(socket.gethostname())
  • 你想获取什么 ip?
  • @TanveerAlam,您在该问题中的回答是从我发布的链接中截取的精确副本

标签: python ip-address


【解决方案1】:

请使用这个。 那就是当您的机器上有多个 IP 时,您可以操纵 [0, 1] 来选择正确的 IP。 就我而言,这是第二个。这就是为什么 1 但在你的 0 中。

LocalIP = (socket.gethostbyname_ex(socket.gethostname())[2][1])

Documentation for socket.gethostbyname_ex(hostname)

【讨论】:

    【解决方案2】:

    试试这个

    import socket
    
    LocalIP = ''.join(socket.gethostbyname_ex(socket.gethostname())[2])
    
    print(LocalIP)
    

    【讨论】:

      猜你喜欢
      • 2014-02-23
      • 2021-01-28
      • 2011-10-11
      • 1970-01-01
      • 2011-03-14
      • 2012-11-29
      • 2011-04-08
      • 2013-03-17
      相关资源
      最近更新 更多