python-----获取ip的两种方法
方法一:
通常使用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)无线连接时,地址为设定地址(或自动获取的地址)。
原博客地址:https://blog.csdn.net/u013314786/article/details/78962103