【发布时间】:2012-07-28 23:11:35
【问题描述】:
要获取我的本地主机 IP 地址,我会使用 socket.gethostbyname(socket.gethostname())。但它给了我答案127.0.0.1。
如果我这样做an_existing_socket.getsockname()[0],我会得到答案0.0.0.0。
我需要我的“真实”IP 地址(例如 192.168.x.x)来修改配置文件。我怎么能得到它?
【问题讨论】:
-
@BigYellowCactus 你说得对,我会看看这些答案
-
@Germann Arlington 此配置文件注定要在另一台主机上使用:1)。我用我的 IP 和 2) 更新了 conf 文件。我远程启动 一个使用此 conf 文件的应用程序。由于多种原因,启动应用程序时我无法控制远程主机。
-
@Vaïk Godard - 在这种情况下,最好的解决方案是通过名称对其进行寻址,然后让网络 DNS 将其解析为该地址。
-
当前的重复链接指向一个稍微不同的问题,该问题添加了“使用 Python 的标准库”。如果您可以忍受外部包,How do I determine all of my IP addresses when I have multiple NICs? 可能会更有帮助。
标签: python sockets ip-address