如何仅使用标准库在Python平台中独立查找本地IP地址(即192.168.xx或10.0.xx)?
import socket socket.gethostbyname(socket.gethostname())
这将永远无法正常工作(返回127.0.0.1主机/etc/hosts名为as的机器127.0.0.1),将是gimel显示的一种称呼,socket.getfqdn()而是使用。当然,您的计算机需要一个可解析的主机名。
/etc/hosts名
socket.getfqdn()
刚刚发现了它,但似乎有点破烂,但是他们说在* nix上尝试过,而我在Windows上做了,它起作用了。
* nix
import socket s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.connect(("8.8.8.8", 80)) print(s.getsockname()[0]) s.close()
这假定您可以访问互联网,并且没有本地代理。