一尘不染

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

python

如何仅使用标准库在Python平台中独立查找本地IP地址(即192.168.xx或10.0.xx)?


阅读 351

收藏
2020-02-13

共2个答案

一尘不染

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

这将永远无法正常工作(返回127.0.0.1主机/etc/hosts名为as的机器127.0.0.1),将是gimel显示的一种称呼,socket.getfqdn()而是使用。当然,您的计算机需要一个可解析的主机名。

2020-02-13
一尘不染

刚刚发现了它,但似乎有点破烂,但是他们说在* nix上尝试过,而我在Windows上做了,它起作用了。

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(("8.8.8.8", 80))
print(s.getsockname()[0])
s.close()

这假定您可以访问互联网,并且没有本地代理。

2020-02-13