方法一:
一般情况下使用socket.gethostbyname()的方式就可以获取本机IP地址,不排除偶尔的时候获取不到(比如没有正确设置主机名称),示例代码如下:
复制代码
import socket
获取本计算机的名称
hostname = socket.gethostname()
获取本计算机IP
ip = socket.gethostbyname(hostname)
print(ip)
复制代码
亲测:如果使用手机时,地址为127.0.0.1,如果使用电脑(windows)无线连接时,地址是外网的地址。
方法二:
在windows和Linux系统下均可正确获取IP地址,示例代码如下:
复制代码
import socket
def get_host_ip():
“”"
查询本机ip地址
:return: ip
“”"
try:
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect((‘8.8.8.8’, 80))
ip = s.getsockname()[0]
finally:
s.close()
return ip
if name == ‘main’:
print(get_host_ip())
复制代码
亲测:无论手机还是电脑(windows)无线连接时,地址为设定地址(或自动获取的地址)。